ASP.NET控制項的執行生命週期

來源:互聯網
上載者:User

階段

控制項需要執行的操作
要重寫的方法或事件
初始化
初始化在傳入 Web 請求生命週期內所需的設定。
Init 事件(OnInit 方法)
載入檢視狀態
在此階段結束時,就會自動填滿控制項的 ViewState 屬性,控制項可以重寫LoadViewState 方法的預設實現,以自訂狀態還原。
LoadViewState 方法
處理回傳資料
處理傳入表單資料,並相應地更新屬性。
注意:只有處理回傳資料的控制項參與此階段。
LoadPostData 方法(如果已實現IPostBackDataHandler)
載入
執行所有請求共有的操作,如設定資料庫查詢。此時,樹中的伺服器控制項已建立並初始化、狀態已還原並且表單控制項反映了用戶端的資料。
Load 事件(OnLoad 方法)
發送回傳更改通知
引發變更事件以響應當前和以前回傳之間的狀態更改。
注意:只有引發回傳變更事件的控制項參與此階段。 
RaisePostDataChangedEvent方法(如果已實現IPostBackDataHandler)
處理回傳事件
處理引起回傳的用戶端事件,並在伺服器上引發相應的事件。 
注意:只有處理回傳事件的控制項參與此階段。
RaisePostBackEvent 方法(如果已實現IPostBackEventHandler)
預呈現
在呈現輸出之前執行任何更新。可以儲存在預呈現階段對控制項狀態所做的更改,而在呈現階段所對的更改則會丟失。
PreRender 事件(OnPreRender方法)
儲存狀態
在此階段後,自動將控制項的ViewState 屬性保持到字串對象中。此字串對象被發送到用戶端並作為隱藏變數發送回來。為了提高效率,控制項可以重寫SaveViewState 方法以修改ViewState 屬性。
SaveViewState 方法
呈現
產生呈現給用戶端的輸出。
Render 方法
處置
執行銷毀控制項前的所有最終清理操作。在此階段必須釋放對昂貴資源的引用,如資料庫連結。
Dispose 方法
卸載
執行銷毀控制項前的所有最終清理操作。控制項作者通常在 Dispose 中執行清除,而不處理此事件。 
UnLoad 事件(On UnLoad 方法)


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.