ASP.NET編程模型之ASP.NET頁面生命周期圖解
ASP.NET編程模型中ASP.NET頁面生命周期是指什么呢?它包括什么呢?ASP.NET編程模型之ASP.NET頁面生命周期具體的過程有哪些呢?下面就開始我們的講解吧:
ASP.NET 頁運行時,此頁將經(jīng)歷一個生命周期,在生命周期中將執(zhí)行一系列處理步驟。這些步驟包括初始化、實例化控件、還原和維護狀態(tài)、運行事件處理程序代碼以及進行呈現(xiàn)。了解頁的生命周期非常重要,這樣就能在合適的生命周期階段編寫代碼,以達到預期效果。此外,如果開發(fā)自定義控件,則必須熟悉頁生命周期,從而正確地初始化控件,使用視圖狀態(tài)數(shù)據(jù)填充控件屬性以及運行所有控件行為邏輯。
ASP.NET編程模型之頁面生命周期執(zhí)行一系列步驟:頁面的初始化、實例化控件、還原和維護狀態(tài)、運行事件處理程序代碼、呈現(xiàn)。為了在合適的階段執(zhí)行所需的代碼,所以要對頁面生命周期非常熟悉。在頁生命周期的各個階段,頁面會逐個引發(fā)定義的事件,通過對代碼開發(fā),在頁面的生命事件中執(zhí)行我們所需要的程序
頁生命周期階段
1、ASP.NET頁面生命周期之頁請求:發(fā)生在頁面生命周期之前,用戶請求頁時,ASP.NET將確定是否需要分析和編譯頁,從而確定是否開始頁面的生命周期,或者是否可以在不運行頁的情況下發(fā)送頁面緩存以進行響應。
2、ASP.NET頁面生命周期之開始:設置頁屬性,如:HttpContext以及其他屬性;在此階段,頁面需要確定是回發(fā)請求還是新請求,并設置IsPostBack屬性;設置頁面的UICulture屬性。
3、 ASP.NET頁面生命周期之頁面初始化:加載所有主題;控件生成,并設置UniqueID;
注:ViewState、ControlState中的值還未加載至控件;如果頁面是回發(fā),則回發(fā)數(shù)據(jù)也還未加載;故此時控件可以訪問,但值可能出錯。
4、ASP.NET頁面生命周期之加載:如果當前請求是回發(fā)請求,則為控件加載ViewState和ControlState中的值。
5、ASP.NET頁面生命周期之驗證:調(diào)用所有驗證程序控件的Validate方法,此方法將設置驗證程序控件和頁的IsValid屬性。
6、ASP.NET頁面生命周期之回發(fā)事件處理:如果請求是回發(fā)請求,則調(diào)用所有事件處理程序。
7、ASP.NET頁面生命周期之呈現(xiàn):首先對該頁和所有控件進行保存視圖狀態(tài),然后對每個控件調(diào)用Render方法,它會提供一個文本編寫器,用于將控件的輸入寫入頁的Response屬性的OutputStream中。
8、ASP.NET頁面生命周期之卸載:完成呈現(xiàn),并已將頁發(fā)送至客戶端、準備丟棄該頁后,調(diào)用卸載。將卸載屬性如:Response和Request等等。
下面是ASP.NET編程模型中ASP.NET頁面生命周期示圖
 
ASP.NET編程模型中ASP.NET頁面生命周期的簡單架構介紹就向你介紹到這里,之后我們會繼續(xù)詳細介紹ASP.NET編程模型之ASP.NET頁面生命周期的相關內(nèi)容。
【編輯推薦】
- ASP.NET Session使用淺析
 - ASP.NET編程模型之HTTP協(xié)議淺析
 - ASP.NET編程模型HTTP工作原理
 - ASP.NET編程模型HTTP協(xié)議淺析
 - ASP.NET編程模型之ASP.NET頁面構成淺析
 















 
 
 
 
 
 
 