Weiterhin existieren in ASP.NET zwei Typen von Serversteuerelementen: HTML-Serversteuerelemente und Webserversteuerelemente.

Webserversteuerelemente sind die mächtigste Form der Serversteuerelemente. Ein Webserversteuerelement erkennt man an dem Namensraum asp, der vor dem Tag-Namen steht.

<asp:Label runat=Server id="Label1">Bitte URL eingeben:</asp:Label>
<asp:TextBox id="Textbox1" runat="server">HTTP://...</asp:TextBox>
<asp:Button id="Button1" runat="server" Text="OK"></asp:Button>

HTML-Serversteuerelemente sind eine konzeptionelle Mischung aus den rein clientseitigen Standard-HTML-Elementen und den Webserversteuerelementen. Das Tag für ein HTML-Serversteuerelement entspricht einem normalen HTML-Tag, nur mit dem Zusatzattribut runat="server". Diese Steuerelemente besitzen eine serverseitige Ereignisbehandlung und können wie Webserversteuerelemente objektorientiert verändert werden. Sie erlauben auch die Datenbindung.

Abbildung 4.8    Steuerelement-Typen in ASP.NET

Es besteht eine 1:1-Abbildung zwischen HTML-Serversteuerelementen und HTML-Tags: Bei der Umsetzung der Seite erzeugt ASP.NET aus jedem HTML-Serversteuerelement genau ein Tag. Dazu ein Beispiel:

<P id="HSC_Text" runat="server">Bitte URL eingeben:</P>
<INPUT type="text" id="HSC_Feld" name="HSC_Feld" runat="server" value="HTTP://...">
<INPUT type="button" value="OK" name="HSC_Button" id="HSC_Button" runat="server">

HTML-Serversteuerelemente unterliegen gegenüber Webserversteuerelementen folgenden Einschränkungen:

  • Sie bieten keine Abstraktion vom Ausgabeformat. Ein HTML-Serversteuerelement wird immer auch als HTML-Tag ausgegeben. Es gibt kein Adaptive Rendering, also keine browserspezifische Ausgabe.
  • Sie bieten keine Ereignisweiterleitung an übergeordnete Serversteuerelemente.
  • Die Eingabefelder bieten keine Möglichkeit zum direkten Postback (kein AutoPostBack-Attribut). Lediglich Schaltflächen und (manche) Hyperlinks lösen einen Postback aus.

HTML-Serversteuerelemente bieten aber auch drei Vorteile gegenüber Webserversteuerelementen:

  • Die Migration von klassischem ASP- oder HTML-Code ist einfacher durch die 1:1-Abbildung zwischen HTML-Tag und HTML-Serversteuerelement. Visual Studio .NET unterstützt die Migration durch eine Konvertierungsfunktion im Webform-Designer (Kontextmenüeintrag Als Serversteuerung ausführen).
  • Die Hinterlegung clientseitiger Skripte ist einfacher, weil es keine Umwandlung des Quellcode-Tags auf der Serverseite gibt.
  • Es gibt einige HTML-Tags, die nur durch ein HTML-Serversteuerelement abgebildet werden können, weil es dafür (noch) kein Webserversteuerelement gibt.

Komponentenart

Basisklasse für HTML-Anwendungen

Basisklasse für WML- und cHTML-Anwendungen

Webserversteuer-elemente

System.Web.UI.WebControls.WebControl

System.Mobile.UI.MobileControl

HTML-Serversteuer­elemente

System.Web.UI.Html­Controls.HtmlControl

---

Webbenutzer-Steuerelemente

System.Web.UI.UserControl

System.Web.UI.Mobile­Controls.MobileUserControl

Tabelle 4.2 Basisklassen für die ASP.NET-Steuerelement-Typen

Inhalt dieses Kapitels:


<< Übersetzungsvorgang und Verbreitung Bestandteile eines Webprojekts >>