[转]ASP.NET 页面事件执行顺序_html

在作完上图后,无意中看到网上类似的一篇文章,也非常精彩,转载在下面供大家参考。申明,以下内容为转载,因某些原因作者和出处无法考证,本文作者不享有以下内容的版权。



Page 执行中将按照如下顺序激活事件:


Page.PreInit

Page.Init

Page.InitComplite

Page.PreLoad

Page.Load

Page.LoadComplete

Page.PreRender

Page.PreRenderComplete


如果页面从令一个页面继承,如BasePage:System.Web.UI.Page,在BasePage中做了一些扩展,如权限检查,而其他页面从BasePage继承,则BasePage和最终Page的事件激活顺序是:


UI.PreInit

Page.PreInit

UI.Init

Page.Init

UI.InitComplite

Page.InitComplite

UI.PreLoad

Page.PreLoad

UI.Load

Page.Load

UI.LoadComplete

Page.LoadComplete

UI.PreRender

Page.PreRender

UI.PreRenderComplete

Page.PreRenderComplete


如果使用了MasterPage,则MasterPage中的事件和ContentPage中的事件按照下面顺序激活:


ContentPage.PreInit

Master.Init

ContentPage.Init

ContentPage.InitComplite

ContentPage.PreLoad

ContentPage.Load

Master.Load

ContentPage.LoadComplete

ContentPage.PreRender

Master.PreRender

ContentPage.PreRenderComplete


更进一步,如果ContentPage继承BasePage,那么,各事件的执行顺序将变成:


UI.PreInit

ContentPage.PreInit

Master.Init

UI.Init

ContentPage.Init

UI.InitComplite

ContentPage.InitComplite

UI.PreLoad

ContentPage.PreLoad

UI.Load

ContentPage.Load

Master.Load

UI.LoadComplete

ContentPage.LoadComplete

UI.PreRender

ContentPage.PreRender

Master.PreRender

UI.PreRenderComplete

ContentPage.PreRenderComplete

 



MasterPage.master


UserControl_OnTop.ascx



Page.aspx


UserControl_InPage.ascx


UserControl_OnButtom.ascx


MasterPage

UserControlOnTop

Page

UserControlInPage

UserControlOnButtom

 

Init

 

 

 

 

 

 

Init

 

 

 

 

 

Init

Init

 

 

 

 

 

 

Init

 

 

 

 

Load

 

 

Load

 

 

 

 

 

Load

 

 

 

 

 

 

Lod

 

 

 

 

 

Load

ControlEvents

ControlEvents

ControlEvents

ControlEvents

ControlEvents

 

 

PreRender

 

 

PreRender

 

 

 

 

 

PreRender

 

 

 

 

 

 

PreRender

 

 

 

 

 

PreRender

 

UnLoad

 

 

 

 

 

 

UnLoad

 

 

 

 

 

UnLoad

UnLoad

 

 

 

 

 

 

UnLoad

 

 

作者:菩提树下的杨过

本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。