新建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中的事件执行顺序有所帮助。
您可能感兴趣的文章: