zoukankan      html  css  js  c++  java
  • ASP.net中页面事件的先后顺序

    客户发出POST请求-〉创建Page派生类,调用构造函数-〉调用Page类的IHttpHandler.ProcessRequest方法-〉激活Page类的Init事件-〉调用Page类的CreateChildControls虚方法-〉从POST变量和VIEWSTATE中还原服务器端控件状态-〉激活Page类的Load事件-〉激活服务器端控件事件-〉激活Page类的PreRender事件-〉调用Page类的Render虚方法-〉调用Page类的RenderChildren虚方法-〉发送HTTP响应给客户端-〉激活Page类的Unload事件-〉丢弃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

  • 相关阅读:
    [Tip: VS debugging]F5 VS Ctrl +F5
    C#: boxing and unboxing
    [Tip: check overflow/underflow C#]
    C# floating Point types
    UVa 103 Stacking Box(记忆化搜索)
    POJ 3321 apple tree(树形数组)
    UVa 116 Unidirectional TSP(简单旅行商DP)
    UVa 562 Dividing coins(简单DP)
    UVa 10003 Cutting Sticks(区间DP)
    UVa 348 Optimal Array Multiplication Sequence(链式DP/区间DP)
  • 原文地址:https://www.cnblogs.com/frustrate2/p/1390847.html
Copyright © 2011-2022 走看看