ASP.NET - Serversteuerelemente

Serversteuerelemente sind Tags, die vom Server verstanden werden.

Beschränkungen von Classic ASP

Nachstehend gezeigte Codezeilen wurden aus dem vorherigen Abschnitt kopiert:

<html>
<body style="background-color:#e5eecc; text-align:center;">
<h2>Hello CodeW3C.com!</h2>
<p><%Response.Write(now())%></p>
</body>
</html>

Das obige Codebeispiel zeigt die Beschränkungen von Classic ASP: Der Codeblock muss an der Stelle platziert werden, an der eine Ausgabe erforderlich ist.

Mit Classic ASP können wir den ausführbaren Code nicht vom HTML selbst trennen. Dies macht die Seite schwer lesbar und schwer zu warten.

ASP.NET - Serversteuerelemente

Durch Serversteuerelemente hat ASP.NET das Problem der "Spaghetti-Code" gelöst, das oben beschrieben wurde.

Serversteuerelemente sind Tags, die vom Server verstanden werden.

Es gibt drei Arten von Serversteuerelementen:

  • HTML-Serversteuerelemente - Traditionelle HTML-Schlagwörter
  • Web-Serversteuerelemente - Neue ASP.NET-Schlagwörter
  • Validation-Serversteuerelemente - Für Eingabeverifikation

ASP.NET - HTML-Serversteuerelemente

HTML-Serversteuerelemente sind HTML-Schlagwörter, die vom Server verstanden werden.

HTML-Elemente in ASP.NET werden als Text behandelt. Um diese Elemente programmierbar zu machen, müssen sie mit Attribut runat="server"Diese Eigenschaft weist darauf hin, dass dieses Element ein Serversteuerelement ist. Gleichzeitig muss die id-Eigenschaft hinzugefügt werden, um das Serversteuerelement zu kennzeichnen. Diese id kann verwendet werden, um das Serversteuerelement im Laufzeitmodus zu steuern.

Anmerkung:Alle HTML-Serversteuerungen müssen innerhalb eines <form>-Tags mit dem Attribut runat="server" platziert werden. Das Attribut runat="server" weist darauf hin, dass das Formular auf dem Server verarbeitet werden soll. Es weist ebenfalls darauf hin, dass die enthaltenen Steuerelemente durch Server-Skripte aufgerufen werden können.

Im folgenden Beispiel haben wir in der .aspx-Datei eine HtmlAnchor-Serversteuerung deklariert. Anschließend haben wir im Ereignisbehandler die HRef-Eigenschaft der HtmlAnchor-Steuerung bearbeitet. Das Page_Load-Ereignis ist eine Art von Ereignis, das von ASP.NET verstanden wird:

Anmerkung:Ein Ereignisbehandler (event handler) ist ein Unterroutine, die speziell für ein bestimmtes Ereignis ausgeführt wird.

<script runat="server">
Sub Page_Load
link1.HRef="http://www.codew3c.com"
End Sub
</script>
<html>
<body>
<form runat="server">
<a id="link1" runat="server">Besuchen Sie CodeW3C.com!</a>
</form>
</body>
</html>

Hinweis:Der ausführbare Code wurde bereits außerhalb von HTML entfernt.

ASP.NET - Web-Serversteuerung

Web-Serversteuerungen sind spezielle ASP.NET-Tags, die vom Server verstanden werden.

Ähnlich wie HTML-Serversteuerungen werden Web-Serversteuerungen auf dem Server erstellt, sie benötigen ebenfalls das Attribut runat="server", um aktiviert zu werden. Web-Serversteuerungen müssen jedoch keine bestehenden HTML-Elemente mappen, sie stellen komplexere Elemente dar.

Die Syntax zur Erstellung von Web-Serversteuerungen ist:

<asp:control_name id="some_id" runat="server" />

Im folgenden Beispiel haben wir in der .aspx-Datei einen Button-Serversteuerung deklariert. Anschließend haben wir einen Ereignisbehandler für das Click-Ereignis erstellt, der den Text auf dem Button ändern kann:

<script runat="server">
Sub submit(Source As Object, e As EventArgs)
button1.Text="Sie haben mich geklickt!"
End Sub
</script>
<html>
<body>
<form runat="server">
<asp:Button id="button1" Text="Klicken Sie mich!" runat="server" OnClick="submit"/>
</form>
</body>
</html>

ASP.NET - Validierungsserversteuerung

Validierungsserversteuerung wird zur Überprüfung der Benutzereingaben verwendet. Wenn die Benutzerdaten nicht überprüft werden können, wird eine Fehlermeldung an den Benutzer angezeigt.

Jeder Validierungskontroll führt eine spezifische Validierungstyp aus (z.B. die Validierung eines bestimmten Wertes oder eines Wertebereichs).

Standardmäßig wird bei Klick auf Button, ImageButton oder LinkButton die Seitenvalidierung ausgeführt. Sie können die Validierung durch das Setzen der CausesValidation-Eigenschaft auf false verhindern, dass eine bestimmte Button-Kontroll bei Klick validiert wird.

Die Syntax zur Erstellung eines Validation-Serverkontrolls ist:

<asp:control_name id="some_id" runat="server" />

Im folgenden Beispiel erklären wir, wie wir in einer .aspx-Datei einen TextBox-Kontroll, einen Button-Kontroll und einen RangeValidator-Kontroll deklarieren. Wenn die Überprüfung fehlgeschlagen ist, wird der Text "Der Wert muss zwischen 1 und 100 liegen!" im RangeValidator-Kontroll angezeigt:

<html>
<body>
<form runat="server">
<p>Geben Sie eine Zahl zwischen 1 und 100 ein:
<asp:TextBox id="tbox1" runat="server" />
<br /><br />
<asp:Button Text="Submit" runat="server" />
</p>
<p>
<asp:RangeValidator
ControlToValidate="tbox1"
MinimumValue="1"
MaximumValue="100"
Type="Integer"
Text="Der Wert muss zwischen 1 und 100 liegen!"
runat="server" />
</p>
</form>
</body>
</html>

Diese Beispiel anzeigen