ASP.NET 頁面事件執(zhí)行順序介紹
更新時間:2013年04月18日 16:14:48 作者:
當(dāng)頁面進(jìn)行回發(fā)時,如點(diǎn)擊按鈕,以上事件都會重新執(zhí)行一次,這時的執(zhí)行順序?yàn)镺nPreInit、OnInit、OnInitComplete等等,感興趣的朋友可以參考下哈
復(fù)制代碼 代碼如下:
#region 控件事件 第六步
protected void Button1_Click(object sender, EventArgs e)
{
//用這些事件來處理特定控件事件,如 Button 控件的 Click 事件或 TextBox 控件的 TextChanged 事件。
//注意
//在回發(fā)請求中,如果頁包含驗(yàn)證程序控件,請?jiān)趫?zhí)行任何處理之前檢查 Page 和各個驗(yàn)證控件的 IsValid 屬性。
}
#endregion
#region OnLoadComplete 第七步
protected override void OnLoadComplete(EventArgs e)
{
//對需要加載頁上的所有其他控件的任務(wù)使用該事件。
base.OnLoadComplete(e);
}
#endregion
#region OnPreRender 第八步
protected override void OnPreRender(EventArgs e)
{
//在該事件發(fā)生前:
//Page 對象會針對每個控件和頁調(diào)用 EnsureChildControls。
//設(shè)置了 DataSourceID 屬性的每個數(shù)據(jù)綁定控件會調(diào)用 DataBind 方法。有關(guān)更多信息,請參見下面的數(shù)據(jù)綁定控件的數(shù)據(jù)綁定事件。
//頁上的每個控件都會發(fā)生 PreRender 事件。使用該事件對頁或其控件的內(nèi)容進(jìn)行最后更改。
base.OnPreRender(e);
}
#endregion
#region SaveStateComplete 第九步
protected override void OnSaveStateComplete(EventArgs e)
{
//在該事件發(fā)生前,已針對頁和所有控件保存了 ViewState。將忽略此時對頁或控件進(jìn)行的任何更改。
//使用該事件執(zhí)行滿足以下條件的任務(wù):要求已經(jīng)保存了視圖狀態(tài),但未對控件進(jìn)行任何更改。
base.OnSaveStateComplete(e);
}
#endregion
#region Render 第十步
//Render
//這不是事件;在處理的這個階段,Page 對象會在每個控件上調(diào)用此方法。所有 ASP.NET Web 服務(wù)器控件都有一個用于寫出發(fā)送給瀏覽器的控件標(biāo)記的 Render 方法。
//如果創(chuàng)建自定義控件,通常要重寫此方法以輸出控件的標(biāo)記。不過,如果自定義控件只合并標(biāo)準(zhǔn)的 ASP.NET Web 服務(wù)器控件,不合并自定義標(biāo)記,則不需要重寫 Render 方法。有關(guān)更多信息,請參見開發(fā)自定義 ASP.NET 服務(wù)器控件。
//用戶控件(.ascx 文件)自動合并呈現(xiàn),因此不需要在代碼中顯式呈現(xiàn)該控件。
#endregion
#region OnUnload 第十一步
protected override void OnUnload(EventArgs e)
{
//該事件首先針對每個控件發(fā)生,繼而針對該頁發(fā)生。在控件中,使用該事件對特定控件執(zhí)行最后清理,如關(guān)閉控件特定數(shù)據(jù)庫連接。
//對于頁自身,使用該事件來執(zhí)行最后清理工作,如:關(guān)閉打開的文件和數(shù)據(jù)庫連接,或完成日志記錄或其他請求特定任務(wù)。
//注意
//在卸載階段,頁及其控件已被呈現(xiàn),因此無法對響應(yīng)流做進(jìn)一步更改。如果嘗試調(diào)用方法(如 Response.Write 方法),則該頁將引發(fā)異常。
base.OnUnload(e);
}
#endregion
}
當(dāng)頁面進(jìn)行回發(fā)時,如點(diǎn)擊按鈕,以上事件都會重新執(zhí)行一次,這時的執(zhí)行順序?yàn)椋?
1. OnPreInit
2. OnInit
3. OnInitComplete
4. OnPreLoad
5. Page_Load
6. OnLoad
7. Button_Click
8. OnLoadComplete
9. OnPreRender
您可能感興趣的文章:
- ASP.NET jQuery 實(shí)例3 (在TextBox里面阻止復(fù)制、剪切和粘貼事件)
- Asp.Net 不同的OnClick事件區(qū)別小結(jié)(onserverclick,onclientclick)
- Asp.net TextBox的TextChanged事件使用介紹
- js觸發(fā)asp.net的Button的Onclick事件應(yīng)用
- 詳解ASP.NET頁面生命周期事件
- 在ASP.NET 2.0中操作數(shù)據(jù)之十二:在GridView控件中使用TemplateField
- 在ASP.NET 2.0中操作數(shù)據(jù)之十三:在DetailsView控件中使用TemplateField
- 在ASP.NET 2.0中操作數(shù)據(jù)之十四:使用FormView 的模板
- 在ASP.NET 2.0中操作數(shù)據(jù)之十五:在GridView的頁腳中顯示統(tǒng)計信息
- 在ASP.NET 2.0中操作數(shù)據(jù)之十六:概述插入、更新和刪除數(shù)據(jù)
- 在ASP.NET 2.0中操作數(shù)據(jù)之十七:研究插入、更新和刪除的關(guān)聯(lián)事件
相關(guān)文章
.Net結(jié)構(gòu)型設(shè)計模式之適配器模式(Adapter)
這篇文章介紹了.Net結(jié)構(gòu)型設(shè)計模式之適配器模式(Adapter),文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-05-05ASP.Net?Core?MVC基礎(chǔ)系列之環(huán)境設(shè)置
這篇文章介紹了ASP.Net?Core?MVC環(huán)境設(shè)置的方法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-02-02ASP.NET?Core命名空間System.Text.Encodings.Web介紹
這篇文章介紹了ASP.NET?Core命名空間System.Text.Encodings.Web,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-01-01.Net結(jié)構(gòu)型設(shè)計模式之組合模式(Composite)
這篇文章介紹了.Net結(jié)構(gòu)型設(shè)計模式之組合模式(Composite),文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-05-05