Asp.NET页面事件加载的顺序是什么样的


当前第2页 返回上一页

4、如果ContentPage继承BasePage,那么,各事件的执行顺序将变成:


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

BasePage.PreInit

ContentPage.PreInit

Master.Init

BasePage.Init

ContentPage.Init

BasePage.InitComplite

ContentPage.InitComplite

BasePage.PreLoad

ContentPage.PreLoad

BasePage.Load

ContentPage.Load

Master.Load

BasePage.LoadComplete

ContentPage.LoadComplete

BasePage.PreRender

ContentPage.PreRender

Master.PreRender

BasePage.PreRenderComplete

ContentPage.PreRenderComplete

只需要记住:先加载继承页,再加载自己,如果继承页有继承则先加载继承页的继承。

事件处理器名称发生时间
Page_Init在Web窗体的视图状态加载服务器控件并对其初始化。 这是窗体生命周期的第一步
Page_Load在Page对象上载入服务器控件。由于此时视图状态信息是可以使用的,因此载这里可以用代码来改变空间的设置或者载页面上显示文本。
Page_PreRender应用程序将要呈现Page

Page_Unload

页面从内存中卸载

Page_Error

发生未处理的异常

Page_AbortTransaction

事务处理被终止

Page_CommitTransaction

事务处理被接受

Page_DataBinding

把页面上的服务器空间和数据源绑定载一起

Page_Disposed

Page对象从内存中释放掉。这是Page对象生命周期中的最后一个事件

Init,Load,PreRender事件执行顺序:

1)控件的Init事件

2)控件所在页面的Init事件

3)控件所在页面的Load事件

4)控件的Load事件

5)控件所在页面的PreRender事件

6)控件的PreRender事件

个人研究的一些心得体会:(下面的两点可以通过自建页面并重写相关事件进行验证)

1.Init事件从最里面的控件(例如用户控件)向最外面的控件(页面)引发,Load及PreRender等其他事件从最外面的控件向最里面的控件引发。

2.控件之间相同事件的执行顺序依控件在页面的位置按从左到右,从上到下的先后顺序执行。

注意:

1. 切记用户控件也被视为页面中的一个控件;

2. 把用户控件作为单独的一个特殊页面来看,它本身及其所包含的控件同样遵守相同的规律。

3. 如果客户端程序(如JavaScript)中会用到客户端body对像的onload事件,注意这个客户端事件是最后执行,即在服务器端所有事件执行完后才执行。

4. Master、用户自定义控件里面是没有PreInit、OnComplete事件.Master本身就是一个用户控件usercontrol,usercontrol继承TemplateControl,TemplateControl继承Control,让我们看看Control里面可重写的事件(部分截图),也可以查看此官方文档:https://referencesource.microsoft.com/#System.Web/UI/Control.cs,87dbac93d9749fa2。

以上就是Asp.NET页面事件加载的顺序是什么样的的详细内容!

返回前面的内容

相关阅读 >>

asp.net core应用程序在linux上部署的图文详解

分享asp.net学习笔记(9)webpages图表

asp.net core mvc应用程度中如何读取当前url请求参数(querystring)的值?

asp.net一些经典的问题详解

asp.net教程--mvc中signalr的基础讲解

asp.net反射简单应用实例代码

关于core mvc压缩样式的实例详解(asp)

core web中使用appsettings.json配置文件的实例详解(asp.net

asp.net如何实现的群发邮件功能详解

asp.net core异常和错误处理(8)_实用技巧

更多相关阅读请进入《asp.net》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...