Heim > Artikel > Backend-Entwicklung > Erläuterung des Lebenszyklus von WebForm in Asp.Net
Dieser Artikel führt Sie hauptsächlich in die relevanten Informationen zum WebForm-Lebenszyklus in Asp.Net ein. Der Artikel stellt einen bestimmten Referenz- und Lernwert für alle vor. Freunde, die sie benötigen, können dem Editor folgen, um gemeinsam zu lernen . Bar.
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 selbst ein benutzerdefiniertes Steuerelement entwickeln möchten, müssen Sie mit dem Lebenszyklus der Seite vertraut sein, um das Steuerelement ordnungsgemäß zu initialisieren. Füllen Sie die Eigenschaften des Steuerelements mit Ansichtsstatusdaten und führen Sie einen beliebigen Verhaltenscode des Steuerelements aus. 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-Ereignisverarbeitung: 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.
Attributwert der Konfigurationsdatei lesen oder festlegen.
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
Page ruft die OnLoad-Ereignismethode auf der Seite auf und führt dann rekursiv denselben Vorgang für jedes untergeordnete Steuerelement aus usw., bis die Seite und alle Steuerelemente geladen sind.
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.
Die DataBind-Methode wird für jedes datengebundene Steuerelement aufgerufen, für das die DataSourceID-Eigenschaft festgelegt ist. 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.
Das obige ist der detaillierte Inhalt vonErläuterung des Lebenszyklus von WebForm in Asp.Net. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!