一般來說,頁要經歷下表概述的各個階段。除了頁生命周期階段以外,在請求前后還存在應用程序階段,但是這些階段并不特定于頁。有關更多信息,請參見asp.net 應用程序生命周期概述。
頁請求 | 頁請求發生在頁生命周期開始之前。用戶請求頁時,ASP.NET 將確定是否需要分析和編譯頁(從而開始頁的生命周期),或者是否可以在不運行頁的情況下發送頁的緩存版本以進行響應。 |
開始 | 在開始階段,將設置頁屬性,如Request和Response。在此階段,頁還將確定請求是回發請求還是新請求,并設置IsPostBack屬性。此外,在開始階段期間,還將設置頁的UICulture屬性。 |
頁初始化 | 頁初始化期間,可以使用頁中的控件,并將設置每個控件的UniqueID屬性。此外,任何主題都將應用于頁。如果當前請求是回發請求,則回發數據尚未加載,并且控件屬性值尚未還原為視圖狀態中的值。 |
加載 | 加載期間,如果當前請求是回發請求,則將使用從視圖狀態和控件狀態恢復的信息加載控件屬性。 |
驗證 | 在驗證期間,將調用所有驗證程序控件的Validate方法,此方法將設置各個驗證程序控件和頁的IsValid屬性。 |
回發事件處理 | 如果請求是回發請求,則將調用所有事件處理程序。 |
呈現 | 在呈現之前,會針對該頁和所有控件保存視圖狀態。在呈現階段中,頁會針對每個控件調用Render方法,它會提供一個文本編寫器,用于將控件的輸出寫入頁的Response屬性的OutputStream中。 |
卸載 | 完全呈現頁并已將頁發送至客戶端、準備丟棄該頁后,將調用卸載。此時,將卸載頁屬性(如Response和Request)并執行清理。 |
新聞熱點
疑難解答