• λ我爱Aspx >> Asp.Net >> ASP.NET 2.0中Page事件的执行顺序
  • ASP.NET 2.0中Page事件的执行顺序

  • :未知  Դ:非寒日志  :2007-4-21 0:50:49  ؼ:.net,asp.net,asp
  • 今天很郁闷了,在一个表单中执行几个runat=server事件的时候不断的触发客户端的submit事件,于是想到了Page事件执行应该是有个顺序的,就上网查了下,得到如下结果:

    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

    Ҷƪл˵?
  • һƪ网易部落的rss弱智错误
    һƪ雅虎搜虫大行动----快来抓毛毛虫菜青虫吧!