本文通過實(shí)戰(zhàn)的方法簡單介紹ASP.NET中的事件執(zhí)行順序。
方法/步驟
新建C# WebForm項(xiàng)目,如下圖:
![](/d/20211017/5a11a11b437a1b73ff55131305aa62bb.gif)
在Defualt.aspx文件中添加一個(gè)Button控件并命名為Button1,然后為該控件各個(gè)事件添加事件處理程序,并添加斷點(diǎn),如下圖:
![](/d/20211017/12f754c3aed627ead23d79d779c9682e.gif)
打開Global.asax文件并添加斷點(diǎn),如下圖:
![](/d/20211017/b0d31d2ce389c27c77bf842e3bdb4845.gif)
打開Site.Master的代碼文件Site.Master.cs,并添加斷點(diǎn),如下圖:
![](/d/20211017/8ed2532c2e1a8487cbbdd775583fa39f.gif)
按F5調(diào)試運(yùn)行,查看代碼運(yùn)行順序:Application_Start→Session_Start→Button1_Init→Page_Load(Defualt.asp)→Page_Load(Site.Master)→Button1_Load→Button1_PreRender→Button1_Unload→顯示界面。
![](/d/20211017/8982199a52ce6df2763d0ba39c476abc.gif)
當(dāng)我們關(guān)閉IIS時(shí)執(zhí)行:Session_End→Application_End。
總結(jié):
1、當(dāng)通過IIS啟動(dòng)網(wǎng)站時(shí)執(zhí)行Application_Start函數(shù),當(dāng)關(guān)閉網(wǎng)站時(shí)執(zhí)行Application_End函數(shù)。這兩個(gè)函數(shù)可以看作是IIS調(diào)用的。
2、當(dāng)有新的連接請(qǐng)求到達(dá)時(shí)執(zhí)行Session_Start函數(shù),此時(shí)才可以使用Session對(duì)象,當(dāng)用戶長時(shí)間不操作,超過了Session時(shí)長,執(zhí)行Session_End函數(shù)。這兩個(gè)函數(shù)也可以看作是IIS調(diào)用的。
3、當(dāng)請(qǐng)求一個(gè)aspx頁面時(shí),首先會(huì)執(zhí)行所有控件的Init函數(shù),然后執(zhí)行頁面的Page_Load函數(shù),若有母板再執(zhí)行母板的Page_Load函數(shù),然后執(zhí)行控件的Load函數(shù)、PreRender函數(shù)、Unload函數(shù),當(dāng)所有服務(wù)器控件都執(zhí)行了這些函數(shù)后才會(huì)顯示相應(yīng)的界面。
現(xiàn)在大家對(duì)ASP.NET中事件如何依次發(fā)生有了大概了解吧,希望對(duì)大家學(xué)習(xí)Asp.Net中的事件執(zhí)行順序有所幫助。
您可能感興趣的文章:- Asp.Net 不同的OnClick事件區(qū)別小結(jié)(onserverclick,onclientclick)
- ASP.NET的事件模型(很適合學(xué)習(xí)的文章)
- Asp.net TextBox的TextChanged事件使用介紹
- Asp.net 圖片文件防盜鏈(尊重勞動(dòng)成果)及BeginRequest事件學(xué)習(xí)
- ASP.NET 頁面事件執(zhí)行順序介紹
- 詳解ASP.NET頁面生命周期事件
- php 模擬 asp.net webFrom 按鈕提交事件的思路及代碼
- asp.net錯(cuò)誤處理Application_Error事件示例
- asp.net錯(cuò)誤捕獲(錯(cuò)誤處理)page_error事件使用方法
- ASP.NET頁面按鈕單擊事件失效的解決方法
- ASP.NET中實(shí)現(xiàn)定制自己的委托和事件參數(shù)類
- asp.net頁面觸發(fā)事件panel滾動(dòng)條高度不變的實(shí)現(xiàn)方法
- asp.net在事件中啟動(dòng)線程來打開一個(gè)頁面的實(shí)現(xiàn)方法
- asp.net中c#自定義事件的實(shí)現(xiàn)方法詳解