{"id":57,"date":"2009-11-07T22:00:29","date_gmt":"2009-11-07T21:00:29","guid":{"rendered":"http:\/\/www.steffen-liersch.de\/content\/de\/?p=57"},"modified":"2025-03-02T11:32:33","modified_gmt":"2025-03-02T10:32:33","slug":"asp-life-cycle","status":"publish","type":"post","link":"https:\/\/www.steffen-liersch.de\/content\/de\/2009\/11\/asp-life-cycle\/","title":{"rendered":"Lebenszyklus einer ASP.NET-Seite"},"content":{"rendered":"<p>W\u00e4hrend der Generierung einer dynamischen ASP.NET-Seite werden verschiedene Phasen durchlaufen. Virtuelle Funktionen und Ereignisse k\u00f6nnen genutzt werden, um benutzerdefinierte Aktionen zu realisieren.<!--more--> Je nach gew\u00fcnschter Aktion muss die passende Funktion bzw. das passende Ereignis wohl\u00fcberlegt ausgew\u00e4hlt werden. In folgender \u00dcbersicht sind die verf\u00fcgbaren virtuellen Funktionen in chronologischer Reihenfolge aufgef\u00fchrt.<\/p>\n<table border=\"0\">\n<thead>\n<tr>\n<th>Virtuelle Funktion<\/th>\n<th>Beschreibung<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>OnPreInit<\/td>\n<td>Der Lebenszyklus der Seite beginnt. Die Initialisierung wird mit dieser Funktion vorbereitet.<\/td>\n<\/tr>\n<tr>\n<td>OnInit<\/td>\n<td>Notwendige Initialisierungen k\u00f6nnen nun erledigt werden.<\/td>\n<\/tr>\n<tr>\n<td>OnInitComplete<\/td>\n<td>Zu diesem Zeitpunkt wurden alle Steuerelemente initialisiert.<\/td>\n<\/tr>\n<tr>\n<td>OnPreLoad<\/td>\n<td>Postback-Informationen und Zust\u00e4nde (ViewState) wurden geladen. Clientseitig ge\u00e4nderte Eigenschaften stehen nun zur Verf\u00fcgung.<\/td>\n<\/tr>\n<tr>\n<td>OnLoad<\/td>\n<td>Eigenschaften von Steuerelemente k\u00f6nnen ge\u00e4ndert werden. Nach dem Aufruf dieser Funktion werden Ereignisse von Steuerelementen ausgel\u00f6st.<\/td>\n<\/tr>\n<tr>\n<td>OnLoadComplete<\/td>\n<td>Alle Steuerelemente wurden geladen. Au\u00dferdem ist die Ereignisbehandlung f\u00fcr alle Steuerelemente abgeschlossen.<\/td>\n<\/tr>\n<tr>\n<td>OnPreRender<\/td>\n<td>Die Ausgabe der Seite wird vorbereitet. Zustandsinformationen (ViewState) von Steuerelementen k\u00f6nnen weiterhin ge\u00e4ndert werden.<\/td>\n<\/tr>\n<tr>\n<td>OnPreRenderComplete<\/td>\n<td>Dies ist das letzte Ereignis bevor die Zustandsinformationen (ViewState) von Steuerelementen gespeichert werden.<\/td>\n<\/tr>\n<tr>\n<td>OnSaveStateComplete<\/td>\n<td>Alle Zustandsinformationen (ViewState) wurden gespeichert. Weitere \u00c4nderungen bleiben unber\u00fccksichtigt.<\/td>\n<\/tr>\n<tr>\n<td>Render<\/td>\n<td>Es erfolgt die Ausgabe aller sichtbaren Komponenten, mit Hilfe eines Objekts vom Typ HtmlTextWriter, das als Parameter \u00fcbergeben wird.<\/td>\n<\/tr>\n<tr>\n<td>OnUnload<\/td>\n<td>Die Ausgabe ist abgeschlossen. Belegte Ressourcen k\u00f6nnen nun freigegeben werden.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Mit Ausnahme der virtuellen Funktion Render, existiert zu jeder anderen virtuellen Funktion ein entsprechendes Ereignis. Beispielsweise wird das Load-Ereignis von der virtuellen Funktion OnLoad ausgel\u00f6st. Wenn m\u00f6glich, ist das \u00dcberschreiben der virtuellen Funktionen einer Verwendung der korrespondierenden Ereignisse vorzuziehen.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>W\u00e4hrend der Generierung einer dynamischen ASP.NET-Seite werden verschiedene Phasen durchlaufen. Virtuelle Funktionen und Ereignisse k\u00f6nnen genutzt werden, um benutzerdefinierte Aktionen zu realisieren.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5],"tags":[22],"class_list":["post-57","post","type-post","status-publish","format-standard","hentry","category-net","tag-asp-net"],"_links":{"self":[{"href":"https:\/\/www.steffen-liersch.de\/content\/de\/wp-json\/wp\/v2\/posts\/57","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.steffen-liersch.de\/content\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.steffen-liersch.de\/content\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.steffen-liersch.de\/content\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.steffen-liersch.de\/content\/de\/wp-json\/wp\/v2\/comments?post=57"}],"version-history":[{"count":17,"href":"https:\/\/www.steffen-liersch.de\/content\/de\/wp-json\/wp\/v2\/posts\/57\/revisions"}],"predecessor-version":[{"id":105,"href":"https:\/\/www.steffen-liersch.de\/content\/de\/wp-json\/wp\/v2\/posts\/57\/revisions\/105"}],"wp:attachment":[{"href":"https:\/\/www.steffen-liersch.de\/content\/de\/wp-json\/wp\/v2\/media?parent=57"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.steffen-liersch.de\/content\/de\/wp-json\/wp\/v2\/categories?post=57"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.steffen-liersch.de\/content\/de\/wp-json\/wp\/v2\/tags?post=57"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}