Movatterモバイル変換


[0]ホーム

URL:


Zum Inhalt springen
WikibooksDie freie Bibliothek
Suche

Websiteentwicklung mit ASP.NET/ Steuerelemente

Aus Wikibooks
<Websiteentwicklung mit ASP.NET

Steuerelemente

[Bearbeiten]

Ob Windows Forms, KDE und Co. oder auch im Internet: Immer spielen Steuerelemente(Controls) eine wichtige Rolle bei der Gestaltung von Benutzeroberflächen. Die Steuerelemente sind dabei vorgefertigte Bausteine, aus denen die Oberfläche zusammengebaut wird, zudem werden immer wiederkehrende Aufgaben (z. B. Login-Felder, Navigation, Suche, Werkzeugleisten, …) durch Steuerelemente rationalisiert.

Alle Steuerelemente in ASP.NET erben wichtige Eigenschaften vonControl, unter anderem die Funktionalität für die Datenbindung und für Design und Layout; der Programmierer hat dadurch ein einfaches und einheitliches Kochrezept.

Die wichtigsten „Erblasten“ von Control sind …

[Bearbeiten]

… die ID Eigenschaft

[Bearbeiten]

Diese Zeichenfolge identifiziert ein Steuerelement, sie darfkeine Leerzeichen enthalten. Da sich der HTML-Code (z. B. in der default.aspx Datei) und der Programmcode (z. B. in default.aspx.cs) auf dieselbe Klasse beziehen, definiert die ID, die im HTML-Element angegeben wurde, die Membervariable im Code. Wem das jetzt zu schnell ging, sollte sich das folgende Beispiel genau ansehen:

<!-- hier der HTML-Code, die zugehörige Klasse ist "_Default" --><%@ Page Language="C#" CodeFile="Default.aspx.cs" Inherits="_Default"  %><html xmlns="http://www.w3.org/1999/xhtml" ><head runat="server"></head><body>   <form runat="server">       <!-- hier wird ein Member vom Typ Label definiert            mit dem Namen "MeinLabel  -->       <asp:Labelid="MeinLabel" runat="server" />    </form></body></html>
// der zugehörige C#-Codeusing System;using System.Web;using System.Web.UI.WebControls;public partial class _Default : System.Web.UI.Page {    protected void Page_Load(object sender, EventArgs e)    {        // dasselbe Label!MeinLabel.Text="Beschriftung...";    }}

… die Visible-Eigenschaft

[Bearbeiten]

Hiermit steuert man, wie das Steuerelement gerendert wird: für den Browser-Benutzer sichtbar oder nicht. Ändert man diese Eigenschaft nachdem die Seite bereits gerendert wurde, hat das keinen Einfluss auf die Ausgabe.

… die Parent- und Controls-Eigenschaft

[Bearbeiten]

Liefert das übergeordnete Steuerelement zurück. DasParent-Steuerelement kann dabei auch die Webseite selbst sein. Der Nutzen wird oft erst bei größeren Webseiten deutlich. Der umgekehrte Weg ist durch das Duo

  • HasControls() – gibttrue zurück, wenn das Steuerlement untergeordnete Steuerelemente besitzt, sonstfalse
  • und derControls-Aufzählung

möglich. Beispiel:

// Hat MeinCtrl seinerseits Controls ?if (MeinCtrl.HasControls()){ // das erste enthaltene Control wird nicht gerendert...  MeinCtrl.Controls[0].Visible = false;}

Zusammen bilden diese Eigenschaften eine Baum-Struktur, die den gesamten hierarchischen Aufbau einer Webseite enthält.

Arten von Steuerelementen

[Bearbeiten]

Trotz dieser gemeinsamen Erblasten existieren in ASP.NET drei Arten von Steuerelementen:

ASP.NET Websteuerelemente (wenn man so will, die eigentlichen „ASP.NET“-Steuerelemente)
Sie liegen allesamt im NamensraumSystem.Web.UI.WebControls. Ihr Stammvater ist die KlasseWebControl; diese Klasse hat gegenüberControl weitere Eigenschaften, die für das Design einer Webseite wichtig sind, zum Beispiel
  • Berandung, Höhe und Breite eines Steuerelements,
  • Farbgestaltung, Schriftart, Skin
  • und Einfluss auf den Zugriff durch den Benutzer
Zu diesen gehören die in den Beispielen verwendeten Steuerelemente TextBox (Eingabe von Text), Label (Ausgabe von Text) und die DropDown-Liste (aufklappbare Auswahlliste); aber auch viel kompliziertere, wie das Kalender-Steuerelement und die Steuerelemente zur Verwaltung von Tabellendaten. Insgesamt stehen fast vierzig solche Steuerelemente zur Verfügung. Diejenigen mit HTML-Erfahrung werden sich jetzt vielleicht Folgendes fragen: zu vielen der „einfacheren“ Steuerelemente scheint es ein Gegenstück in HTML zu geben – wo liegt der Unterschied? Die ASP.NET Websteuerelemente werdenpassend für den jeweiligen Benutzer-Browser gerendert; beispielweise wird, falls möglich, JavaScript-Code eingefügt, der die Benutzung der Seite vereinfacht oder unnötige "POST-backs" zum Server vermeidet.
HTML-Code als Steuerelement
Das Attributrunat="server" sorgt dafür, dass das HTML-Element als Steuerelement auf dem Server gerendert wird. Diese Steuerelemente erben ihre Member von der Klasse HtmlControl, ihr Namensraum lautetSystem.Web.UI.HtmlControls. Sie ermöglichen im Gegensatz zu dem ASP.NET Websteuerelementen die vollständige Kontrolle über den erzeugten HTML-Code.
Benutzerdefinierte Steuerelemente
hier können Sie ihrer Kreativität freien Lauf lassen. Sie können beispielsweise bestehende Steuerelemente mit Vorlagen zu neuen Steuerelementen zusammenbauen oder von grundauf neue Steuerelemente programmieren, indem Sie von der Klasse WebControl bzw. Control ihr Steuerelement ableiten.

ASP.NET-Steuerelemente

[Bearbeiten]

Diese Steuerelemente wurden bisher schon bei einigen Beispielen verwendet. Diese Steuerelemente bilden das Fundament einer ASP.NET-Webseite, im Jargon der ASP.NET-Dokumentation werden sieWebserversteuerelemente genannt. Diese Steuerelemente enthalten auch Eigenschaften und Methoden, die für das Design einer Seite verwendet werden können.

Ein Familienportrait der ASP.NET-Steuerelemente würde den Umfang dieses Buchs bei weitem sprengen, so dass hier nur die wichtigsten vorgestellt werden

Steuerelemente zur Textausgabe

[Bearbeiten]

Hierfür sind vor allem dasLabel- und dasLiteral-Steuerelement vorgesehen. Beide geben den Text, der mit Hilfe derText-Eigenschaft festgelegt wird, einfach auf der Webseite aus. Die Funktion hinter diesen Elementen ist denkbar einfach. Die Elemente werden in die Seite durch die Tags

  • <asp:Label [Attribute …] />
  • bzw. <asp:Literal [Attribute …] />

in die Seite eingefügt. Um den Unterschied zwischen diesen „Zwillingen“ hervorzuheben, sollte man beide in Aktion ansehen:

<%@ Page Language="C#"  CodeFile="beispiele.aspx.cs" Inherits="_meineSeite" %><html xmlns="http://www.w3.org/1999/xhtml" ><head runat="server">     <title>ASP.NET-Steuerelemente</title></head><body>     <form runat="server">          <h1>Die einfachen Steuerelemente zur Text-Ausgabe …</h1>          <p>                         Label:<asp:Label runat="server" /><br />              Literal: <asp:Literal runat="server" />           </p>       </form> </body></html>

der zugehörige C#-Code:

using System;using System.Web;using System.Web.UI.WebControls; public partial class _meineSeite : System.Web.UI.Page {    protected void Page_Load(object sender, EventArgs e)    {        // auf beiden Elementen wird der gleiche String ausgegeben        string ausgabe = "Fischers Fritze fischt Fische!";labelBsp.Text = ausgabe;literalBsp.Text = ausgabe;    }}

Der entscheidende Ausschnitt in der HTML-Ausgabe lautet dann

 <h1>Die einfachen Steuerelemente zur Text-Ausgabe …</h1>  <p>              Label:        <span>Fischers Fritze fischt Fische!</span> <br />   Literal:      Fischers Fritze fischt Fische!  </p>

Das heißt: das Labelelement ergänzt den ausgegebenen Text um weitere Elemente, das Literalelement gibt den Text ohne zusätzliche Umschweife aus.

Einfache Steuerelemente zur Eingabe

[Bearbeiten]

Skins und Design

[Bearbeiten]

Datenbindung

[Bearbeiten]

HTML-Code als Steuerelement

[Bearbeiten]

Eigene Steuerelemente entwickeln

[Bearbeiten]
|link=../Hoch zu Inhaltsverzeichnis |
Abgerufen von „https://de.wikibooks.org/w/index.php?title=Websiteentwicklung_mit_ASP.NET/_Steuerelemente&oldid=622646

[8]ページ先頭

©2009-2026 Movatter.jp