Announcement

Collapse
No announcement yet.

ASP Anwendung in C#

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • ASP Anwendung in C#

    Hallo,
    wenn ich auf ein ASP Formular Komponenten der WebForms Toolbox setze, erscheinen diese zu Laufzeit gar nicht (z.B. Buttons) oder nur als Label (z.B. Textbox). Hat jemand eine Idee, was ich falsch mache?

  • #2
    Hallo,

    das folgende Beispiel demonstriert, wie ein DataGrid in einem Web Form (ASPX) zur Anzeige der Datensätze aus der MS SQL Server 2000-Datenbank Northwind verwendet wird. Das DataGrid ist erst dann im IE sichtbar, wenn die Methode <b>DataBind</b> aufgerufen wird. Da die Sprache (VB.NET vs. C#) in .NET keine Rolle spielt, sollte sich das VB.NET-Beispiel in C# nachbauen lassen:
    <pre>
    < %@ Page Language="VB" %>
    < %@ Import Namespace="System.Data" %>
    < %@ Import Namespace="System.Data.SqlClient" %>
    < html>
    < head>
    < script runat="server">
    Sub Page_Load(Source As Object, E As EventArgs)
    Dim sConStr As String = "Initial Catalog=Northwind;Data Source=localhost;Password=sa;user id=sa"
    Dim sSQL As String = "SELECT ContactName, City FROM Customers"
    Dim aConnection As SqlConnection = New SqlConnection(sConStr)
    aConnection.Open()
    Dim aCommand As SqlCommand = New SqlCommand()
    aCommand.CommandType = CommandType.Text
    aCommand.CommandText = sSQL
    aCommand.Connection = aConnection
    Dim aSDA As SqlDataAdapter = New SqlDataAdapter(aCommand)
    Dim aDS As New DataSet()
    aSDA.Fill(aDS, "Customers")
    dgCustomers.DataSource = aDS.Tables.Item(0).DefaultView
    dgCustomers.DataBind()
    End Sub
    < /script>
    < /head>
    < body>
    < aspataGrid id="dgCustomers" runat="server"
    AlternatingItemStyle-BackColor="#CCCCCC"
    BorderWidth="0"
    />
    < /body>
    < /html>
    </pre&gt

    Comment


    • #3
      Hallo Andreas, <BR>
      danke für das Beispiel, ich habe es sowohl in VB.NET als auch in C#.NET ausprobiert. In beiden Fällen habe ich den gleichen Effekt, daß nach dem Start das Gitter im Internet Explorer nicht sichtbar ist. Wenn ich noch eine Schaltfläche (von den WebForms Komponenten) dem Formular hinzufüge, ist diese ebenfalls nicht sichtbar. Ich denke, bei mir ist grundsätzlich etwas falsch. Mit HTML Komponenten habe ich bislang keine Probleme

      Comment


      • #4
        Hallo T.,<br>
        was bekommt denn der Internet Explorer an HTML-Code zugeschickt? Ist überhaupt nichts zu sehen von den WebControls?

        Ein gern gemachter Fehler ist auch, ASPX-Seiten direkt im Internet Explorer aufzurufen und nicht über den IIS. In diesen Fall werden die ASP:Tags nicht gerendert - womit der IE natürlich nichts anfangen kann

        Comment


        • #5
          Hallo Jörg, <BR>
          ich nehme an Du meinst die aspx Datei. Die sieht folgendermaßen aus:
          <BR> <BR>
          <PRE>
          &lt;%@ Page language="c#" Codebehind="WebForm1.aspx.cs" AutoEventWireup="false" Inherits="WebApplication1.WebForm1" %&gt;
          &lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" &gt;
          &lt;HTML&gt;
          &lt;HEAD&gt;
          &lt;title&gtWebForm1&lt/title&gt;
          &lt;meta name="vs_showGrid" content="True"&gt;
          &lt;meta name="GENERATOR" Content="Microsoft Visual Studio 7.0"&gt;
          &lt;meta name="CODE_LANGUAGE" Content="C#"&gt;
          &lt;meta name="vs_defaultClientScript" content="JavaScript"&gt;
          &lt;meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5"&gt;
          &lt;/HEAD&gt;
          &lt;body MS_POSITIONING="GridLayout"&gt;
          &lt;form id="Form1" method="post" runat="server"&gt;
          &nbsp;
          &lt;asp:Button id="Button1" style="Z-INDEX: 102; LEFT: 21px; POSITION: absolute; TOP: 22px" runat="server" Height="27px" Width="173px" Text="Button"&gt&lt/asp:Button&gt
          &lt/form&gt;
          &lt;/body&gt;
          &lt;/HTML&gt;
          </PRE>
          <BR>
          Ich habe neues Projekt erstellt, ein Button auf das Form gesetzt und die Applikation ohne Debug (Strg-F5) gestartet. Im Internet Explorer war der Button dann nicht zu sehen

          Comment


          • #6
            Hallo,

            Jörg meinte, dass Du im Internet Explorer mit der rechten Maustaste den Menüpunkt <b>Quelltext anzeigen</b> aufrufen sollst. Was ist dort an HTML zu sehen?

            Die Server Controls werden von ASP.NET je nach vorgefundenem Browser in HTML umgesetzt (d.h. die Verarbeitung findet nur auf dem IIS statt). Das Problem hört sich so an, als ob die ASPX-Seite überhaupt nicht vom IIS verarbeitet wird.

            Im Idealfall macht man seine ersten Versuche mit dem lokalen IIS (localhost), wobei dieser <b>vor</b> der Installation des .NET-Frameworks bzw. VS.NET bereits laufen sollte. Nur dann legt das Setup die ASP.NET-relevanten Sachen in den IIS-Verzeichnissen ab

            Comment


            • #7
              Hallo T. und Andreas,

              ein Blick in die Konfiguration des lokalen IIS könnte hier Gewißheit bringen. Unter Verwaltung/Internetdienste-Manager und dort die Eigenschaften vom localhost. Dort muß unter ISAPI-Filter der Filter "ASP.NET" eingetragen sein.

              Bei mit lautet der Pfad "C:\WINNT\Microsoft.NET\Framework\v1.0.3705\aspnet _filter.dll", wobei auf meinen Rechner noch nicht das SP1 installiert ist.

              Vielleicht hilft dir das weiter

              Comment


              • #8
                Hallo zusammen, <BR>
                wenn ich im Internet Explorer Quelltext anzeigen wähle, sehe ich das gleiche. <BR>
                Der ASP.NET Filter war bei mir nicht eingetragen. Das habe ich nun gemacht, die Controls sind aber leider weiterhin nicht zu sehen. <BR>
                Ich muß jedoch noch zugeben, daß ich den IIS nach dem .NET Framework installiert habe. Ist es besser, das .NET Framework einfach noch einmal zu installieren, oder kann ich das auch manuell einrichten

                Comment


                • #9
                  Eine Deinstallation/Neuinstallation ist ein möglicher Weg - wenn auch kein angenehmer (kein kleines Installationspaket). Leider sind im IIS zu viele Einstellungen, als das man diese hier über das Forum händisch einrichten könnte. Im groben handelt es sich hier um die Datei-Endungen, damit der IIS weiß, dass er z.B. bei aspx-Dateien das NET-Framework benutzen soll.

                  Das kann man im Basisverzeichnis/Konfiguration einstellen. Dort sind 18 Datei-Erweiterungen eingetragen. Eine davon ist wie gesagt aspx:

                  Ausführbare Datei: <b>C:\WINNT\Microsoft.NET\Framework\v1.0.3705\aspn et_isapi.dll</b><br>
                  Erweiterung: <b>.aspx</b>

                  Ein händisches eintragen ist möglich, aber es fehlen dann immer noch 17 andere Dateien

                  Comment


                  • #10
                    Hallo nochmal, <BR>
                    ich habe mein Problem doch noch ohne Neuinstallation lösen können. <BR>
                    Es gibt ein Programm namens aspnet_regiis (bei mir im v1.0.3075 Ordner). Wird dieses Programm mit -i aufgerufen, wird ASP.NET installiert. Nachdem ich das gemacht habe, waren die Controls im Internet Explorer sichtbar. <BR>
                    Danke für Eure Unterstützun

                    Comment

                    Working...
                    X