Die ASP.NET Web Forms-Seitenframework-Komponente ist ein skalierbares Common Language Runtime-Programmiermodell, das zum dynamischen Generieren von Webseiten verwendet werden kann. Die ASP.NET Page Framework-Komponente ist eine logische Weiterentwicklung von ASP (die von ASP.NET bereitgestellte Syntax ist mit vorhandenen Seiten kompatibel) und wurde speziell entwickelt, um eine Reihe kritischer Mängel im früheren Modell zu beheben. Insbesondere bietet es die Möglichkeit, wiederverwendbare UI-Steuerelemente zu erstellen und zu verwenden, die allgemeine Funktionen kapseln, wodurch die Menge an Code reduziert wird, die Seitenentwickler schreiben müssen. Es ermöglicht Entwicklern, klar und organisiert zu sein. Es erstellt Seitenlogik (kein „verwirrter Code“). ); die verwendeten Entwicklungstools bieten leistungsstarke WYSIWYG-Funktionen (What You See Is What You Get) zur Unterstützung des Seitendesigns (der vorhandene herkömmliche ASP-Code ist undurchsichtig). In diesem Artikel werden einige Grundkenntnisse der ASP.NET-Seitenfunktionen vorgestellt.
Schreiben Ihrer ersten ASP.NET-Seite
ASP.NET-Seiten sind Textdateien mit der Erweiterung .aspx. Seiten bestehen aus Code und Tags, die dynamisch kompiliert und auf dem Server ausgeführt werden, um Anzeigeinhalte für den anfordernden Client-Browser (oder das anfordernde Gerät) zu generieren. Sie können unter der virtuellen IIS-Verzeichnisstruktur bereitgestellt werden. Wenn der Browser-Client eine .aspx-Ressource anfordert, analysiert die ASP.NET-Laufzeit die Zieldatei und kompiliert sie in eine .NET Framework-Klasse. Diese Klasse kann dann verwendet werden, um die Anforderung dynamisch zu verarbeiten (Bitte beachten Sie, dass die .aspx-Datei nur ist wird beim ersten Zugriff kompiliert und die kompilierte Typinstanz kann für mehrere Anforderungen in der Zukunft wiederverwendet werden.
Wir müssen den Code in der HTML-Datei nicht ändern. Wir müssen lediglich die Erweiterung in .aspx ändern, um eine ASP.NET-Seite zu erstellen. Das folgende Beispiel zeigt beispielsweise eine einfache HTML-Seite, die den Namen und die Kategorie des Benutzers sammelt und das Formular an die ursprüngliche Seite zurücksendet, wenn der Benutzer auf eine Schaltfläche klickt:
<form action="intro1_vb.aspx" method= "post">
<h3> Name: <input id="Name" type=text>
Kategorie: <select id="Category" size=1>
<Option>Psychologie</Option>
<option>business</option>
<option>popular_comp</option>
</wählen>
<input type=submit value="Lookup">
</h3>
</form>
Bitte beachten Sie: Wenn Sie auf die Schaltfläche „Suchen“ klicken, passiert nichts. Dies liegt daran, dass die .aspx-Datei nur statisches HTML (keinen dynamischen Inhalt) enthält. Daher wird derselbe HTML-Code an den Client zurückgesendet, wodurch der Inhalt des Formularfelds (Textfeld und Dropdown-Liste) verloren geht.
Fügen Sie der Seite einfachen Code hinzu.
Die von ASP.NET bereitgestellte Syntax ist mit der ASP-Seite kompatibel. Es unterstützt <% %> Code-Rendering-(Render-)Blöcke, die mit HTML-Inhalten in .aspx-Dateien gemischt werden können. Diese Codeblöcke werden strikt ausgeführt, wenn die Seite angezeigt wird.
Das folgende Beispiel zeigt, wie <% %>-Rendering-Blöcke (mit jeder Erhöhung der Schriftgröße) in HTML verwendet werden:
<form action="intro2_vb.aspx" method="post">
<h3> Name: <input id="Name" type=text>
Kategorie: <select id="Category" size=1>
<Option>Psychologie</Option>
<option>business</option>
<option>popular_comp</option>
</wählen>
</h3>
<input type=submit value="Lookup">
<p>
<% Dim I As Integer
Für I = 0 bis 7 %>
<font size="<%=I%>"> Willkommen bei ASP.NET </font> <br>
<%Weiter %>
</form>
Bitte beachten Sie: Der Codeblock <% %> im obigen Beispiel unterscheidet sich von ASP darin, dass er tatsächlich kompiliert und nicht von der Skript-Engine interpretiert wird. Dies verbessert die Ausführungsleistung zur Laufzeit.
ASP.NET-Seitenentwickler können <% %>-Codeblöcke verwenden, um HTML-Ausgabeinformationen dynamisch zu ändern. Der folgende Code zeigt beispielsweise, wie der Codeblock <% %> verwendet wird, um die vom Client zurückgesendeten Ergebnisse zu interpretieren:
<form action="intro3_vb.aspx">
<h3> Name: <input name="Name" type=text value="<%=HttpUtility.HtmlEncode(Request.QueryString("Name"))%>">
Kategorie: <select name="Category" size=1>
<%
Dim I als Ganzzahl
Dim Values(2) als String
Werte(0) = „Psychologie“
Values(1) = „business“
Values(2) = "popular_comp"
Für I = 0 To Values.Length - 1
%>
<% If (Request.QueryString("Category") = Values(i)) %>
<Option ausgewählt>
<% Sonst %>
<Option>
<%End If %>
<%=Werte(i)%>
</Option>
<%Weiter %>
</wählen>
</h3>
<input type=submit name="Lookup" value="Lookup">
<p>
<% If (Not Request.QueryString("Lookup") = Nothing) %>
Hallo <%=HttpUtility.HtmlEncode(Request.QueryString("Name")) %>, Sie haben ausgewählt: <%=HttpUtility.HtmlEncode(Request.QueryString("Category")) %>
<%End If %>
</form>
Bitte beachten Sie: Obwohl die Codeblöcke <% %> uns eine leistungsstarke Möglichkeit bieten, die von ASP.NET-Seiten zurückgegebenen Textausgabeinformationen anzupassen, bieten sie kein klares HTML-Programmiermodell. Das obige Beispiel zeigt, dass Entwickler, die nur den Codeblock <% %> verwenden, den Status der Seite verwalten und die gesendeten Werte selbst abfangen müssen.