asp.net中生命周期的浅析
由于,一直對asp.net中生命周期的問題困惑,所以就特地去學習了下生命周期。
生命周期我覺得主要能分成一下幾個階段,按照發生的時間順序
1、初始化頁面框架
這個過程觸發page.Init事件,這個是在各種事件被觸發時都會運行的。不過需要注意的是,正如他的名字那樣,這個時候是對頁面框架的初始化,所以是無法進行UI行為的。
2、應用程序代碼初始化
這個過程對應的事件是Page_Load,在這個事件中asp.net是會判斷頁面是回發還是首次加載的。不過,盡管如此Page_Load在各種事件被觸發時都會運行的。所以,可以通過IsPostBack來進行寫輔助操作。
3、執行事件處理
如果是首次加載則會不運行用戶觸發的事件,如Click事件等。則是直接執行Page_PreRender事件。此時整個過程主要事件順序為Page_Init-Page_Load-Page_PreRender
但是,如果是用戶觸發了事件,如發生了Click操作,則整個過程將會變成 Page_Init-Page_Load-Click事件-Page_PreRender
?當然除了這三個過程還有其他的過程,我為了能使得生命周期看起來更簡單,所以省去了一些個人感覺不十分重要的過程。
那么這三個過程對我們來說有什么作用呢?
首先知道了 Page_Init-Page_Load-Page_PreRender三者的執行順序和執行性質,那么我們就能根據這個順序,去初始化一些數據。比如對page_Init所屬的類,我們可以利用Page_Init對其的一些字段進行初始化,而asp.net控件的初始化則可以放在Page_Load中,最后對于用戶自定義的UI控件就需要在Page_PreRender中進行了。這樣做的目的是,保證每一個在執行的時候,運行該控件的基礎已經完備。
以上就是我的一些個人體會,希望對大家有用,錯誤之處請大家海涵并指正。
?
安內網
轉載于:https://www.cnblogs.com/JosephLiu/archive/2009/03/09/1406844.html
總結
以上是生活随笔為你收集整理的asp.net中生命周期的浅析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [导入]C#面向对象设计模式纵横谈(17
- 下一篇: 看你能坚持几秒 代码