首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> ASP.NET 基礎 >> 關於ASP.NET

ASP.NET 2.0 頁面生命週期與動態控制項完整指南

     編輯:關於ASP.NET

搞懂 Page 生命週期是 ASP.NET 開發基石。HTTP 無狀態特性導致許多初學者在動態載入控制項時遭遇「回發丟值/丟狀態」問題。本文詳細梳理事件順序,含母版頁引入後的複雜性。

核心基礎:部分類別

ASP.NET 2.0 引入 partial class,.aspx 標記編譯為設計時類別(.designer.cs),自動聲明控制項變數與事件繫結,代碼後置檔案極度精簡,消除 VS2003 時代控制項 ID 變更需同步修改兩檔的痛苦。

生命週期關鍵事件順序

  1. PreInit:動態設定 MasterPage/Theme、建立動態控制項的最佳時機。
  2. Init:控制項初始化,Init 事件由內而外觸發。
  3. InitComplete:追蹤 ViewState 開啟點。
  4. PreLoad:載入前準備。
  5. Load:Page_Load,控制項樹已建立,ViewState 已還原。
  6. Control Events:按鈕點擊等回發事件。
  7. LoadComplete:所有控制項載入完成。
  8. PreRender:最後修改 UI 的機會,資料繫結常在這裡。
  9. SaveStateComplete:ViewState/ControlState 已序列化。
  10. Render:輸出 HTML。
  11. Unload:清理資源。

動態控制項鐵律

  • 必須在 PreInit 或 Init 建立並加入控制項樹,確保 ViewState 正常追蹤。
  • 每次回發皆需重建動態控制項(相同 ID、相同層級)。
  • 狀態保留選項:ViewState、ControlState、Session、Cache、Cookie。

參考 MSDN:ViewState 與 ControlState 詳細說明

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved