Share via


Lebenszyklus bei der Ausführung von Steuerelementen

Bei jeder Anforderung wird vom Server eine ASP.NET-Seite geladen. Nachdem die Anforderung abgearbeitet wurde, wird die Seite wieder entladen. Die Seite und die auf ihr befindlichen Steuerelemente sind zuständig für die Ausführung der Anforderung und das Übersenden von HTML-Code zurück zum Client. Obwohl die Kommunikation zwischen Client und Server statusfrei und ohne Verbindung erfolgt, muss es für den Client so wirken, als ob es sich um die kontinuierliche Ausführung eines Prozesses handelt.

Dieser Anschein von Kontinuität wird durch das ASP.NET-Seitenframework und durch die Seite mit ihren Steuerelementen erweckt. Beim Postback muss sich das Steuerelement so verhalten, als würde es dort beginnen, wo es am Ende der letzten Webanforderung aufgehört hat. Mit Hilfe des ASP.NET-Seitenframeworks wird die Zustandsverwaltung relativ einfach. Allerdings muss sich der Entwickler von Steuerelementen über die Ausführungsreihenfolge im Klaren sein, um den Kontinuitätseffekt zu erzielen. Er muss wissen, welche Informationen dem Steuerelement in jeder Phase seines Lebenszyklus zur Verfügung stehen, welche Daten dauerhaft sind und in welchem Zustand sich das Steuerelement befindet, wenn es bereitgestellt wird. Beispielsweise kann das Steuerelement solange kein übergeordnetes Steuerelement aktivieren, bis die Struktur der Steuerelemente einer Seite vollständig ist.

Die folgende Tabelle gibt einen Überblick über die Phasen im Lebenszyklus eines Steuerelements. Weitere Informationen finden Sie unter den in der Tabelle angegebenen Links.

Phase Aktivitäten des Steuerelements Zu überschreibende Methode oder Ereignis
Initialize Initialisieren von Einstellungen, die während der Lebenszeit der eingehenden Anforderung benötigt werden. Siehe Behandeln von vererbten Ereignissen. Init-Ereignis (OnInit-Methode)
Laden des Anzeigestatus Am Ende dieser Phase ist die ViewState-Eigenschaft eines Steuerelements automatisch belegt, wie unter Beibehalten des Status in einem Steuerelement beschrieben. Zur Anpassung der Zustandswiederherstellung kann durch das Steuerelement die Standardimplementierung der LoadViewState-Methode überschrieben werden. LoadViewState-Methode
Verarbeitung der zurückgesendeten Daten Verarbeitung eingehender Formulardaten und entsprechende Aktualisierung der Eigenschaften. Siehe Verarbeiten von Postback-Daten.
Hinweis   Diese Phase wird nur von Steuerelemente durchlaufen, die Postback-Daten verarbeiten.
LoadPostData-Methode

(falls IPostBackDataHandler implementiert wurde)

Load Ausführen von Aktionen, die bei allen Anforderungen gleich sind, z. B. Aufbauen einer Datenbankabfrage. Zu diesem Zeitpunkt werden in der Struktur enthaltene Serversteuerelemente erstellt und initialisiert. Der Zustand wird wiederhergestellt, und Formularsteuerelemente geben die Clientdaten wieder. Siehe Behandeln von vererbten Ereignissen. Load-Ereignis

(OnLoad-Methode)

Senden von Postback-Änderungsbenachrichtigungen Auslösen eines Änderungsereignisses als Reaktion auf Zustandsänderungen zwischen den aktuellen und den vorherigen Postbacks. Siehe Verarbeiten von Postback-Daten.
Hinweis   Diese Phase wird nur von Steuerelementen durchlaufen, durch die Postback-Änderungsereignisse ausgelöst werden.
RaisePostDataChangedEvent-Methode

(falls IPostBackDataHandler implementiert wurde)

Behandlung von Postback-Ereignissen Behandlung des Clientereignisses, das das Postback verursacht und entsprechende Ereignisse auf dem Server ausgelöst hat. Siehe Auffangen von Postback-Ereignissen.
Hinweis   Diese Phase wird nur von Steuerelementen durchlaufen, die Postback-Ereignisse verarbeiten.
RaisePostBackEvent-Methode

(falls IPostBackEventHandler implementiert wurde)

Vorabwiedergabe Ausführen von Aktualisierungen noch bevor die Ausgabe wiedergegeben wird. Alle in dieser Phase erfolgten Änderungen am Zustand des Steuerelements können gespeichert werden, während Änderungen der eigentlichen Wiedergabephase verloren gehen. Siehe Behandeln von vererbten Ereignissen. PreRender-Ereignis

(OnPreRender-Methode)

Speichern des Status Nach dieser Phase ist die ViewState-Eigenschaft des Steuerelements automatisch in einem Zeichenkettenobjekt gesichert. Dieses Zeichenkettenobjekt wird an den Client gesendet und kommt als verborgene Variable zurück. Um die Effizienz zu erhöhen, kann die SaveViewState-Methode durch das Steuerelement überschrieben und damit die ViewState-Eigenschaft geändert wird. Siehe Beibehalten des Status in einem Steuerelement. SaveViewState-Methode
Wiedergabe Generieren der Ausgabe, die an den Client ausgegeben werden soll. Siehe Darstellen eines ASP.NET-Serversteuerelements. Render-Methode
Dispose Ausführen abschließender Bereinigungen, bevor das Steuerelement deaktiviert wird. Verweise auf umfangreiche Ressourcen, wie z. B. Datenbankverbindungen, werden in dieser Phase freigegeben. Siehe Methoden in ASP.NET-Serversteuerelementen. Dispose-Methode
Entladen Ausführen abschließender Bereinigungen, bevor das Steuerelement deaktiviert wird. Entwickler führen Bereinigung im Allgemeinen mit der Dispose-Methode durch und behandeln dieses Ereignis nicht. UnLoad-Ereignis (On UnLoad-Methode)

**Hinweis  ** Um das Ereignisname-Ereignis zu überschreiben, muss die OnEreignisname-Methode überschrieben werden (und base.OnEreignisname aufgerufen werden).

Die Methoden und Ereignisse in der dritten Spalte werden in der Regel von System.Web.UI.Control geerbt. Es gibt folgende Ausnahmen: LoadPostData und RaisePostDataChangedEvent sind Methoden der IPostBackDataHandler-Schnittstelle, und RaisePostBackEvent gehört zur IPostBackEventHandler-Schnittstelle. Wenn das Steuerelement an der Verarbeitung von Postback-Daten beteiligt ist, muss die IPostBackDataHandler-Schnittstelle implementiert werden. Wenn das Steuerelement Postback-Ereignisse empfängt, muss die IPostBackEventHandler-Schnittstelle implementiert werden.

Die CreateChildControls-Methode ist in dieser Tabelle nicht aufgeführt, da sie immer dann aufgerufen wird, wenn durch das ASP.NET-Seitenframework die Steuerelementstruktur erstellt wird. Dieser Methodenaufruf ist nicht an eine spezifische Phase im Lebenszyklus des Steuerelements gebunden. Beispielsweise kann die CreateChildControls-Methode während des Ladens der Seite, der Datenbindung oder der Bereitstellung aufgerufen werden.

Siehe auch

Auffangen von Postback-Ereignissen | Verarbeiten von Postback-Daten | Behandeln von vererbten Ereignissen | Beibehalten des Status in einem Steuerelement