WEB页面响应顺序

今天袁博过来拿东西,东西刚收拾好,天空突降暴雨(北京这天好久没下这么大这么久的雨了)。正好我有很多疑问需要解答,呵呵,有劳哥们了!~

哥们先跟我聊起“页面响应顺序”来,这个东西我从来没有注意过。这方面他是专家,这些对于他是很基本的东西,但于我这个菜鸟而言那是相当深奥,于是记录下来。

WEB页面自打开,在你按下按钮之前,会有如下响应依次发生:

 private int i = 1;
    
protected override void OnPreInit(EventArgs e)
    
{
        
base.OnPreInit(e);
        Response.Write(i
++);
        Response.Write(
"<br />");
    }

    
    
protected override void OnPreLoad(EventArgs e)
    
{
        
base.OnPreLoad(e); 
        Response.Write(i
++);
        Response.Write(
"<br />");
        
    }


    
protected override void OnLoad(EventArgs e)
    
{
        
base.OnLoad(e);
        Response.Write(i
++);
        Response.Write(
"<br />");
    }


   
protected override void OnInit(EventArgs e)
    
{
        
base.OnInit(e);
        Response.Write(i
++);
        Response.Write(
"<br />");
    }

当然,在你按下按钮之后自然是按钮响应,然后还会有一个响应发生:

按钮响应结束后,还会有一个响应发生:

protected override void OnLoadComplete(EventArgs e)
    
{
        
base.OnLoadComplete(e);
        Response.Write(i
++);
        Response.Write(
"<br />");
    }

 这样,当你页面全部打开后,页面的左上角会依次显示“1,2,3,4,5”,也即是这五个响应。

刚才查了一下,其实全部的响应如下:

 

 1FrameworkInitialize
 2InitializeCulture
 3OnPreInit
 4OnInit
 5TrackViewState
 6OnInitComplete
 7OnPreLoad
 8OnLoad
 9Page_Load
10OnLoadComplete
11EnsureChildControls
12CreateChildControls
13OnPreRender
14OnPreRenderComplete
15OnSaveStateComplete
16RenderControl
17Render
18RenderChildren

posted on 2008-09-22 13:25  nathally  阅读(251)  评论(0编辑  收藏  举报

导航