asp.net頁面生命周期?
來源:易賢網 閱讀:1043 次 日期:2014-11-17 15:13:03
溫馨提示:易賢網小編為您整理了“asp.net頁面生命周期?”,方便廣大網友查閱!

頁面生命周期的主要階段包括: 階段 事件/方法

頁面初始化 Page_Init

加載View State LoadViewState

回發數據處理 LoadPostData

頁面加載 Page_Load

回發通知 RaisePostDataChangedEvent

回發事件處理 RaisePostBackEvent

頁面預渲染 Page_PreRender

保存 viewstate SaveViewState

Page渲染 Page_Render

Page 卸載 Page_UnLoad

頁面生命周期的主要事件:

PreInit:

1.檢查IsPostBack 屬性

2.動態設置Master Page

3.動態設置Theme

4.設置控件的默認值(UniqueId等)

5.重新創建動態控件(初始化控件),初始化控件的值

Init: 這個事件發生在所有的控件被初始化,所有的皮膚設置被應用以后。它用來讀取或者初始化控件屬性。它能夠用來注冊一些aspx頁面中沒有指出的控件的事件。

InitComplete: Use this event for processing tasks that require all initialization to be complete.

PreLoad: 加載頁面的ViewState和所有的控件,然后處理所有的包含在Request實例中的postback數據。

Load: 這個事件可能是大家最熟悉的了。需要注意的是,Page對象會遞歸的調用子控件的onload事件直到頁面和所有的子控件被加載完成。這個事件主要用來設置控件屬性的值,建立數據庫連接(通常不這么做)。

Validation: 如果你的控件要求驗證,驗證會在這個階段發生,這個時候你可以檢查控件的IsValid屬性。跟這個階段關聯的事件是Validate,它有一個可以接受驗證字符串群的重載方法(overload method),這個重載方法執行特定控件群的驗證。

Control events: 這個就不多說了,主要是處理控件的事件,例如click。這也就讓我們明白了每次我們click一個Button的時候,實際上是要先去執行load事件然后才執行click事件的,一般我們用!IsPostBack來判斷一下從而避免執行不必要的加載邏輯。

LoadComplete: 頁面所有的控件都被加載以后執行,暫時沒有想到用來干什么。。。

PreRender: 在HTML被生成之前這是最后一個事件。每一個頁面中的控件都有PreRender的過程。在這里對將要輸出的HTML結果進行最后一次修改。

SaveStateComplete: 在這個時間發生之前,已經保存了所有控件和頁面的,任何對page或者控件的改動都不會產生左右。暫時沒想到用來干啥。

Render: 它不是一個事件而是一個方法。工作就是把HTML寫回客戶端瀏覽器。

UnLoad: 頁面中的每一個控件都會發生這件事。在控件中,使用這個事件來做清理工作,例如關閉數據庫連接等。對與頁面本身也是做清理工作,例如關閉打開的文件和數據庫連接,或者結束日志或者其它指定的工作。

需要說明的是,每次Request都會創建一個全新的Page類的實例,所以在頁面中的自己定義的字段是不能在兩次request中傳遞值的,需要使用viewstate來存儲。

更多信息請查看IT技術專欄

更多信息請查看腳本欄目
易賢網手機網站地址:asp.net頁面生命周期?
由于各方面情況的不斷調整與變化,易賢網提供的所有考試信息和咨詢回復僅供參考,敬請考生以權威部門公布的正式信息和咨詢為準!

2026國考·省考課程試聽報名

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關于我們 | 聯系我們 | 人才招聘 | 網站聲明 | 網站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點 | 投訴建議
工業和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
云南網警備案專用圖標
聯系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關注公眾號:hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權所有:易賢網
云南網警報警專用圖標
未满十八18勿进黄网站免费看