您的位置:首页 > 编程语言 > ASP

ASP.NET Page执行顺序

2015-05-18 14:12 375 查看


ASP.NET Page执行顺序如:OnPreInit()、OnInit()

当页面进行回发时,如点击按钮,以上事件都会重新执行一次,这时的执行顺序为:

1. OnPreInit

2. OnInit

3. OnInitComplete

4. OnPreLoad

5. Page_Load

6. OnLoad

7. Button_Click

8. OnLoadComplete

9. OnPreRender

可以看到,Button_Click事件位于OnLoad之后执行,可以测试一下:

public partial class TestControls : System.Web.UI.Page
{
static int count = 0;
protected void Page_Load(object sender, EventArgs e)
{
Response.Write(count+ "Page_Load <br />");
count++;
}
protected override void OnPreInit(EventArgs e)
{
base.OnPreInit(e);
Response.Write(count + "OnPreInit <br />");
count++;
}
protected override void OnInit(EventArgs e)
{
base.OnInit(e);
Response.Write(count + "OnInit <br />");
count++;
}
protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
Response.Write(count + "OnLoad <br />");
count++;
}
protected override void OnPreLoad(EventArgs e)
{
base.OnPreLoad(e);
Response.Write(count + "OnPreLoad <br />");
count++;
}
protected override void OnLoadComplete(EventArgs e)
{
base.OnLoadComplete(e);
Response.Write(count + "OnLoadComplete <br />");
count++;
}
protected override void OnInitComplete(EventArgs e)
{
base.OnInitComplete(e);
Response.Write(count + "OnInitComplete <br />");
count++;
}
protected override void OnUnload(EventArgs e)
{
base.OnUnload(e);
}
protected override void
4000
OnDataBinding(EventArgs e)
{
base.OnDataBinding(e);
Response.Write(count + "OnDataBinding <br />");
count++;
}
protected override void OnPreRender(EventArgs e)
{
base.OnPreRender(e);
Response.Write(count + "OnPreRender <br />");
count++;
}
protected void btnGraphics_Click(object sender, EventArgs e)
{
//Bitmap bmp = new Bitmap(10, 10);
//Graphics g = Graphics.FromImage(bmp);
Response.Write(count + "btnGraphics_Click <br />");
count++;
}
}


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: