標籤:文件物件模型 存在 stat 初始化 href 多少 生命週期 機制 指定
在學習ASP.NET頁面生命週期前,需要先瞭解之前的ASP.NET的基本運行機制,在理解ASP.NET基本運行機制原理後,下面將介紹ASP.NET的生命週期中,頁面從建立到處理結束的過程中ASP.NET Engine執行的10個事件.
1.對象初始化
頁面自身以及頁面中的控制項,都是在Form中被首次初始化的,初始化事件可以通過OnInit()方法重載.通過在ASPX頁面的後台代碼檔案的構造器中聲明對象,頁面將知道對象的類型,並知道需要建立多少個這樣的對象.一旦在構造器中聲明了控制項,就可以在其任何子類 事件 方法 或屬性中訪問到它們.但是,如果對象實在ASPX檔案中指定的控制項,由於這樣的控制項是沒有屬性的,並且這樣做對從代碼中訪問它們是危險的,所以無法保證這些控制項執行個體是按照怎樣的順序被建立的.
2.載入檢視狀態資料
初始化之後,因為還沒有建立用於相對參照的文件物件模型,所以控制項僅能通過ID引用.在LoadViewState事件中,已初始化的控制項獲得第一個屬性,即上一次提交存留到伺服器的檢視狀態資訊.頁檢視狀態通過ASP.NET維護,通常被用於在一個往返行程中存留資訊到伺服器.檢視狀態資訊以一個成對的名稱和數值的形式進行儲存,它包含控制項的Text和Value這一類資訊.視圖資訊在頁請求中進行傳遞,通常儲存在隱藏<input>控制項的值屬性中.這個事件可以通過LoadViewState()方法重載,往往用於在控制項被填充時定製它所接受的資料.
3.LoadPostData處理回傳資料
在建立頁的階段,被發送到伺服器端的Form資料(也被稱為回傳資料)依照每個控制項的資料需求進行處理.當頁面提交Form時,架構將在每個提交資料的控制項上實現IPostBackDataHandler介面.隨後,頁面激發LoadPostData事件,通過頁面解析發現實現了IPostBackDataHandler介面的控制項,並用正確的回傳資料更新控制項狀態.ASP.NET更新正確的控制項是通過匹配控制項的唯一標示符來實現的,該標識符具有名稱值集合中的名稱值對.
4.對象載入
5.激發RaisePostDataChanged事件
6.處理用戶端回傳事件
ASP.NET一個頁面的生命週期