八個階段:
Page發出Request
初始化
載入網頁
驗証
事件
顯示頁面
缷載
初始化(Page Initialization)階段會觸發--Page物件的PreInit、Init、InitComplete事件
載入網頁(Loading)階段會觸發--ProLoad、Load、LoadComplete
事件(Event) 階段會觸發--有PostBack的控制項事件
顯示頁面(Render) 階段會觸發--PreRender、Render
缷載(Unload) 階段會觸發--Unload
圖出處:http://msdn.microsoft.com/en-us/library/ms972976.aspx
每一事件的大致功能
Preinit
1.可檢查IsPostBack屬性判斷是否第一次處理網頁
2.建立動態控制項、建立MasterPage;其動態控制項其值,因ViewState未還原,值之後可被覆寫
ProLoad
1.已將ViewState 載入,可使用Control的屬性
Load
1.遞迴每個子控制項執行相同的動作,設定Control屬性,也可建立與DB的連接
有PostBack的控制項事件
1.驗證(Validation)資料有沒有問題(使用者輸入資料、或資料來源的資料)--避免垃圾資料
2.Control Event對應
3.也可重新Bind資料
Load Complete
1.也可在此重新整頁面資料
PreRender
1.覆寫控制項屬性
SaveStateComplete
1.這是頁面呈現給要求瀏覽器之前的最後一個引發事件--msdn
2.此時ViewState的資料已被觸發此事件前儲存
Render
繪圖畫面
參考資料:
http://www.dotblogs.com.tw/hatelove/archive/2009/12/18/pagelifecycle.aspx
http://msdn.microsoft.com/zh-tw/library/ms178472.aspx
http://www.dotblogs.com.tw/marcus116/archive/2011/05/24/25923.aspx
http://msdn.microsoft.com/en-us/library/ms972976.aspx