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”,也即是这五个响应。
刚才查了一下,其实全部的响应如下:
1
FrameworkInitialize
2
InitializeCulture
3
OnPreInit
4
OnInit
5
TrackViewState
6
OnInitComplete
7
OnPreLoad
8
OnLoad
9
Page_Load
10
OnLoadComplete
11
EnsureChildControls
12
CreateChildControls
13
OnPreRender
14
OnPreRenderComplete
15
OnSaveStateComplete
16
RenderControl
17
Render
18
RenderChildren
FrameworkInitialize2
InitializeCulture3
OnPreInit4
OnInit5
TrackViewState6
OnInitComplete7
OnPreLoad8
OnLoad9
Page_Load10
OnLoadComplete11
EnsureChildControls12
CreateChildControls13
OnPreRender14
OnPreRenderComplete15
OnSaveStateComplete16
RenderControl17
Render18
RenderChildren

浙公网安备 33010602011771号