Den Lebenszyklus von WebForm in Asp.Net verstehen_Praktische Tipps

微波
Freigeben: 2017-06-28 14:03:36
Original
1485 Leute haben es durchsucht

Dieser Artikel führt Sie hauptsächlich in die relevanten Informationen zum WebFormLebenszyklus in Asp.Net ein. Die im Artikel vorgestellte Galaxie hat einen gewissen Referenz- und Lernwert für alle. Freunde, die es brauchen, folgen Sie bitte dem Herausgeber, um zu erfahren.

Vorwort

Dieser Artikel stellt Ihnen hauptsächlich die relevanten Inhalte zum WebForm-Lebenszyklus in Asp.Net vor und stellt sie Ihnen als Referenz zur Verfügung und lernen, werfen wir einen Blick auf die ausführliche Einführung:

1. Das Konzept des Asp.Net-Seitenlebenszyklus

Wenn wir die URL in die Adressleiste des Browsers eingeben und die Eingabetaste drücken, um die Seite anzuzeigen, wird eine Anfrage an den Server gesendet IIS). Normalerweise muss die Implementierung dieser Methode nicht geändert werden, da sie von der Page-Klasse bereitgestellt wird. Die ProcessRequest-Methode des nächsten erstellten Seitenobjekts führt die Seite durch verschiedene Phasen: Initialisierung, Laden von Ansichtsstatusinformationen und Postback-Daten, Laden von Benutzercode für die Seite und Ausführen serverseitiger Postback-Ereignisse. Anschließend wechselt die Seite in den Anzeigemodus: Der aktualisierte Ansichtsstatus wird erfasst, HTML-Code generiert und anschließend an die Ausgabekonsole gesendet. Abschließend wird die Seite entladen und die Anfrage gilt als abgeschlossen. Die Verarbeitung dieser Ereignisreihe durch die ProcessRequest-Methode des Seitenobjekts ist der Lebenszyklus der Asp.Net-Seite.

2. Warum Sie den Asp.Net-Seitenlebenszyklus verstehen müssen

Weil das Verständnis des Asp.Net-Seitenlebenszyklus Entwicklern helfen kann Im Leben schreiben Sie das Programm in der entsprechenden Phase des Zyklus, um den gewünschten Effekt zu erzielen. Wenn Sie außerdem benutzerdefinierte Steuerelemente entwickeln möchten, müssen Sie mit dem Lebenszyklus der Seite vertraut sein, um das Steuerelement ordnungsgemäß zu initialisieren 🎜> Verwenden Sie die Ansicht , um das Steuerelement mit Statusdaten zu füllen und beliebigen Steuerelementverhaltenscode auszuführen. Mit anderen Worten: Nur wenn Sie mit einer Reihe von Ereignissen von der Erstellung bis zur endgültigen Deinstallation vertraut sind, verläuft die Entwicklung reibungslos und Sie werden sich nicht verwirrt fühlen.

3. Lebenszyklusphasen

1. Seite anfordern: Die Seitenanforderung erfolgt, bevor der Seitenlebenszyklus beginnt.

2. Start: In der Startphase werden Seiteneigenschaften wie Anfrage und Antwort festgelegt. In dieser Phase bestimmt die Seite auch, ob es sich bei der Anfrage um eine Postback-Anfrage oder eine neue Anfrage handelt, und legt die IsPostBack-Eigenschaft fest.

3. Initialisierungsseite: Während der Seiteninitialisierung können Sie die Steuerelemente auf der Seite verwenden und das UniqueID-Attribut jedes Steuerelements wird festgelegt. Wenn es sich bei der aktuellen Anfrage um eine Postback-Anfrage handelt, wurden die Postback-Daten noch nicht geladen und die Steuereigenschaftswerte wurden noch nicht auf die Werte im Ansichtszustand zurückgesetzt.

4. Laden der Seite: Wenn es sich beim Laden um eine Postback-Anfrage handelt, werden die Steuerelementeigenschaften mithilfe der aus dem Ansichtsstatus und dem Steuerelementstatus wiederhergestellten Informationen geladen.

5. Validierung: Während der Validierung wird die Validate-Methode aller Validator-Steuerelemente aufgerufen. Diese Methode legt die IsValid-Eigenschaft jedes Validator-Steuerelements und jeder Seite fest.

6. Postback

Ereignisbehandlung : Wenn es sich bei der Anfrage um eine Postback-Anfrage handelt, werden alle Event-Handler aufgerufen.

7. Rendern Sie die Seite: Während des Renderns der Seite wird der Ansichtsstatus auf der Seite gespeichert, und die Seite ruft dann jedes Steuerelement auf, um seine gerenderte Ausgabe dem OutputStream der Response-Eigenschaft der Seite bereitzustellen.

8. Seite entladen: Das Entladen wird aufgerufen, wenn die Seite vollständig gerendert, an den Client gesendet und zum Verwerfen bereit ist. Zu diesem Zeitpunkt werden Seiteneigenschaften wie Antwort und Anforderung entladen und eine Bereinigung durchgeführt.

4. Lebenszyklusereignisse

1. PreInit

Verwenden Sie dieses Ereignis, um das auszuführen Folgende Aktionen:

Überprüfen Sie die IsPostBack-Eigenschaft, um festzustellen, ob dies das erste Mal ist, dass die Seite verarbeitet wird.

Dynamische Steuerelemente erstellen oder neu erstellen.

Legen Sie die Hauptsteuerungsseite dynamisch fest.

Legen Sie das Theme-Attribut dynamisch fest.

Lesen oder legen Sie den Attributwert

Konfigurationsdatei fest.

Hinweis:

Wenn es sich bei der Anfrage um eine Postback-Anfrage handelt, wurde der Wert des Steuerelements nicht aus dem Ansichtszustand wiederhergestellt. Wenn zu diesem Zeitpunkt eine Steuereigenschaft festgelegt ist, kann ihr Wert im nächsten Ereignis überschrieben werden.

2. Init

wird ausgelöst, nachdem alle Steuerelemente initialisiert und alle Darstellungseinstellungen angewendet wurden. Verwenden Sie dieses Ereignis, um Steuerelementeigenschaften zu lesen oder zu initialisieren.

3. InitComplete

wird durch das Page-Objekt ausgelöst. Verwenden Sie dieses Ereignis, um Aufgaben abzuwickeln, bei denen zunächst alle Initialisierungsarbeiten abgeschlossen werden müssen.

4. PreLoad

Wenn Sie vor dem Load-Ereignis eine Verarbeitung auf der Seite oder dem Steuerelement durchführen müssen, verwenden Sie bitte dieses Ereignis.

Nachdem Page dieses Ereignis ausgelöst hat, lädt es den Ansichtsstatus für sich selbst und alle Steuerelemente und verarbeitet dann alle in der Request-Instanz enthaltenen Postback-Daten.

5. Laden

Seite Rufen Sie die OnLoad-Ereignismethode auf der Seite auf und führen Sie dann den gleichen Vorgang für jedes Untersteuerelement rekursiv aus, und so weiter, bis das gesamte Die Seite und alle Steuerelemente werden geladen.

Verwenden Sie die OnLoad-Ereignismethode, um Eigenschaften im Steuerelement festzulegen und eine Datenbankverbindung herzustellen

6. Steuerelementereignisse

Verwenden Sie diese Ereignisse, um bestimmte Ereignisse zu verarbeiten Steuerelementereignisse wie das Click-Ereignis des Button-Steuerelements oder das TextChanged-Ereignis des TextBox-Steuerelements.

Hinweis:

Wenn die Seite in Postback-Anfragen Validatorsteuerelemente enthält, überprüfen Sie die Seite und einzelne Validierungen, bevor Sie eine Verarbeitung durchführen. Das Steuerelement ist IsValid Eigentum.

7. LoadComplete

Verwenden Sie dieses Ereignis für Aufgaben, die das Laden aller anderen Steuerelemente auf der Seite erfordern.

8. PreRender

Bevor dieses Ereignis eintritt:

Das Seitenobjekt stellt ChildControls für jedes Steuerelement und jede Seite sicher.

Jedes datengebundene Steuerelement, für das die DataSourceID-Eigenschaft festgelegt ist, ruft die DataBind-Methode auf. Weitere Informationen finden Sie weiter unten unter Datengebundene Ereignisse für datengebundene Steuerelemente.

Das PreRender-Ereignis tritt für jedes Steuerelement auf der Seite auf. Verwenden Sie dieses Ereignis, um endgültige Änderungen am Inhalt der Seite oder ihren Steuerelementen vorzunehmen.

9. SaveStateComplete

Bevor dieses Ereignis eintritt, wurde ViewState für die Seite und alle Steuerelemente gespeichert. Alle zu diesem Zeitpunkt an der Seite oder den Steuerelementen vorgenommenen Änderungen werden ignoriert.

Verwenden Sie dieses Ereignis, um Aufgaben auszuführen, die erfordern, dass der Ansichtsstatus gespeichert wurde, aber keine Änderungen am Steuerelement vorgenommen wurden.

10. Rendern

Dies ist in dieser Verarbeitungsphase kein Ereignis; das Page-Objekt ruft diese Methode für jedes Steuerelement auf. Alle ASP.NET-Webserversteuerelemente verfügen über eine Render-Methode, die Steuerelement-Markup schreibt, das an den Browser gesendet wird.

Wenn Sie ein benutzerdefiniertes Steuerelement erstellen, überschreiben Sie normalerweise diese Methode, um das Markup des Steuerelements auszugeben. Wenn Ihr benutzerdefiniertes Steuerelement jedoch nur standardmäßige ASP.NET-Webserversteuerelemente und keine benutzerdefinierten Tags enthält, müssen Sie die Render-Methode nicht überschreiben. Weitere Informationen finden Sie unter Entwickeln benutzerdefinierter ASP.NET-Serversteuerelemente.

Benutzersteuerelemente (.ascx-Dateien) werden zum Rendern automatisch zusammengeführt, sodass es nicht erforderlich ist, das Steuerelement explizit im Code zu rendern.

11. Entladen

Dieses Ereignis tritt zuerst für jedes Steuerelement und dann für die Seite auf. Verwenden Sie dieses Ereignis in einem Steuerelement, um eine endgültige Bereinigung für ein bestimmtes Steuerelement durchzuführen, z. B. das Schließen einer steuerelementspezifischen Datenbankverbindung.

Verwenden Sie dieses Ereignis für die Seite selbst, um abschließende Bereinigungsarbeiten durchzuführen, z. B. das Schließen geöffneter Dateien und Datenbankverbindungen oder das Abschließen der Protokollierung oder anderer anforderungsspezifischer Aufgaben.

Hinweis

Während der Entladephase wurden die Seite und ihre Steuerelemente bereits gerendert, sodass keine weiteren Änderungen an der Antwort vorgenommen werden können fließen. Wenn Sie versuchen, eine Methode (z. B. die Response.Write-Methode) aufzurufen, löst die Seite eine Ausnahme aus.

Zusammenfassung

Das obige ist der detaillierte Inhalt vonDen Lebenszyklus von WebForm in Asp.Net verstehen_Praktische Tipps. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!