本文通過實戰的方法簡單介紹ASP.NET中的事件執行順序。
方法/步驟
新建C# WebForm項目,如下圖:
在Defualt.aspx文件中添加一個Button控件並命名為Button1,然後為該控件各個事件添加事件處理程序,並添加斷點,如下圖:
打開Global.asax文件並添加斷點,如下圖:
打開Site.Master的代碼文件Site.Master.cs,並添加斷點,如下圖:
按F5調試運行,查看代碼運行順序:Application_Start→Session_Start→Button1_Init→Page_Load(Defualt.asp)→Page_Load(Site.Master)→Button1_Load→Button1_PreRender→Button1_Unload→顯示界面。
當我們關閉IIS時執行:Session_End→Application_End。
總結:
1、當通過IIS啟動網站時執行Application_Start函數,當關閉網站時執行Application_End函數。這兩個函數可以看作是IIS調用的。
2、當有新的連接請求到達時執行Session_Start函數,此時才可以使用Session對象,當用戶長時間不操作,超過了Session時長,執行Session_End函數。這兩個函數也可以看作是IIS調用的。
3、當請求一個aspx頁面時,首先會執行所有控件的Init函數,然後執行頁面的Page_Load函數,若有母板再執行母板的Page_Load函數,然後執行控件的Load函數、PreRender函數、Unload函數,當所有服務器控件都執行了這些函數後才會顯示相應的界面。
現在大家對ASP.NET中事件如何依次發生有了大概了解吧,希望對大家學習Asp.Net中的事件執行順序有所幫助。