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

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

頁(yè)面初始化 Page_Init

加載View State LoadViewState

回發(fā)數(shù)據(jù)處理 LoadPostData

頁(yè)面加載 Page_Load

回發(fā)通知 RaisePostDataChangedEvent

回發(fā)事件處理 RaisePostBackEvent

頁(yè)面預(yù)渲染 Page_PreRender

保存 viewstate SaveViewState

Page渲染 Page_Render

Page 卸載 Page_UnLoad

頁(yè)面生命周期的主要事件:

PreInit:

1.檢查IsPostBack 屬性

2.動(dòng)態(tài)設(shè)置Master Page

3.動(dòng)態(tài)設(shè)置Theme

4.設(shè)置控件的默認(rèn)值(UniqueId等)

5.重新創(chuàng)建動(dòng)態(tài)控件(初始化控件),初始化控件的值

Init: 這個(gè)事件發(fā)生在所有的控件被初始化,所有的皮膚設(shè)置被應(yīng)用以后。它用來(lái)讀取或者初始化控件屬性。它能夠用來(lái)注冊(cè)一些aspx頁(yè)面中沒(méi)有指出的控件的事件。

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

PreLoad: 加載頁(yè)面的ViewState和所有的控件,然后處理所有的包含在Request實(shí)例中的postback數(shù)據(jù)。

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

Validation: 如果你的控件要求驗(yàn)證,驗(yàn)證會(huì)在這個(gè)階段發(fā)生,這個(gè)時(shí)候你可以檢查控件的IsValid屬性。跟這個(gè)階段關(guān)聯(lián)的事件是Validate,它有一個(gè)可以接受驗(yàn)證字符串群的重載方法(overload method),這個(gè)重載方法執(zhí)行特定控件群的驗(yàn)證。

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

LoadComplete: 頁(yè)面所有的控件都被加載以后執(zhí)行,暫時(shí)沒(méi)有想到用來(lái)干什么。。。

PreRender: 在HTML被生成之前這是最后一個(gè)事件。每一個(gè)頁(yè)面中的控件都有PreRender的過(guò)程。在這里對(duì)將要輸出的HTML結(jié)果進(jìn)行最后一次修改。

SaveStateComplete: 在這個(gè)時(shí)間發(fā)生之前,已經(jīng)保存了所有控件和頁(yè)面的,任何對(duì)page或者控件的改動(dòng)都不會(huì)產(chǎn)生左右。暫時(shí)沒(méi)想到用來(lái)干啥。

Render: 它不是一個(gè)事件而是一個(gè)方法。工作就是把HTML寫(xiě)回客戶(hù)端瀏覽器。

UnLoad: 頁(yè)面中的每一個(gè)控件都會(huì)發(fā)生這件事。在控件中,使用這個(gè)事件來(lái)做清理工作,例如關(guān)閉數(shù)據(jù)庫(kù)連接等。對(duì)與頁(yè)面本身也是做清理工作,例如關(guān)閉打開(kāi)的文件和數(shù)據(jù)庫(kù)連接,或者結(jié)束日志或者其它指定的工作。

需要說(shuō)明的是,每次Request都會(huì)創(chuàng)建一個(gè)全新的Page類(lèi)的實(shí)例,所以在頁(yè)面中的自己定義的字段是不能在兩次request中傳遞值的,需要使用viewstate來(lái)存儲(chǔ)。

更多信息請(qǐng)查看IT技術(shù)專(zhuān)欄

更多信息請(qǐng)查看腳本欄目
易賢網(wǎng)手機(jī)網(wǎng)站地址:asp.net頁(yè)面生命周期?
由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢(xún)回復(fù)僅供參考,敬請(qǐng)考生以權(quán)威部門(mén)公布的正式信息和咨詢(xún)?yōu)闇?zhǔn)!

2025國(guó)考·省考課程試聽(tīng)報(bào)名

  • 報(bào)班類(lèi)型
  • 姓名
  • 手機(jī)號(hào)
  • 驗(yàn)證碼
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡(jiǎn)要咨詢(xún) | 簡(jiǎn)要咨詢(xún)須知 | 新媒體/短視頻平臺(tái) | 手機(jī)站點(diǎn) | 投訴建議
工業(yè)和信息化部備案號(hào):滇ICP備2023014141號(hào)-1 云南省教育廳備案號(hào):云教ICP備0901021 滇公網(wǎng)安備53010202001879號(hào) 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號(hào)
云南網(wǎng)警備案專(zhuān)用圖標(biāo)
聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢(xún)關(guān)注公眾號(hào):hfpxwx
咨詢(xún)QQ:1093837350(9:00—18:00)版權(quán)所有:易賢網(wǎng)
云南網(wǎng)警報(bào)警專(zhuān)用圖標(biāo)