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

ASP.NET 页面生命周期

2011-02-13 10:33 211 查看
独立页面生命周期事件顺序

protected void Page_PreInit(object sender, EventArgs e)

{

Response.Write("Page_PreInit<br/>");

}

protected void Page_Init(object sender, EventArgs e)

{

Response.Write("Page_Init<br/>");

}

protected void Page_InitComplete(object sender, EventArgs e)

{

Response.Write("Page_InitComplete<br/>");

}

protected void Page_PreLoad(object sender, EventArgs e)

{

Response.Write("Page_PreLoad<br/>");

}

protected void Page_Load(object sender, EventArgs e)

{

Response.Write("Page_Load<br/>");

}

protected void Page_LoadComplete(object sender, EventArgs e)

{

Response.Write("Page_LoadComplete<br/>");

}

protected void Page_PreRender(object sender, EventArgs e)

{

Response.Write("Page_PreRender<br/>");

}

protected void Page_PreRenderComplete(object sender, EventArgs e)

{

Response.Write("Page_PreRenderComplete<br/>");

}

protected void Page_SaveStateComplete(object sender, EventArgs e)

{

Response.Write("Page_SaveStateComplete<br/>");

}

protected void Page_Unload(object sender, EventArgs e)

{

//页面卸载事件 这里不能用Response.Write (因为页面已经处于被卸载状态)

}

protected void Button1_Click(object sender, EventArgs e)

{

Response.Write("Button事件触发!<br/>");

}





首次加载该页面输出结果:

Page_PreInit

Page_Init

Page_InitComplete

Page_PreLoad

Page_Load

Page_LoadComplete

Page_PreRender

Page_PreRenderComplete

Page_SaveStateComplete

点击Button1输出结果:

Page_PreInit

Page_Init

Page_InitComplete

Page_PreLoad

Page_Load

Button事件触发!

Page_LoadComplete

Page_PreRender

Page_PreRenderComplete

Page_SaveStateComplete

具有Master页的生命周期事件顺序

把上面代码复制一份到Site.Master页和内容子页ContentPage.aspx,再次执行ContentPage.aspx



首次加载ContentPage.aspx页面输出结果:



Page_PreInit

MasterPage_Init

Page_Init

Page_InitComplete

Page_PreLoad

Page_Load

MasterPage_Load

Page_LoadComplete

Page_PreRender

MasterPage_PreRender

Page_PreRenderComplete

Page_SaveStateComplete



点击Button1按钮后输出结果:



Page_PreInit

MasterPage_Init

Page_Init

Page_InitComplete

Page_PreLoad

Page_Load

MasterPage_Load

Button事件触发!

Page_LoadComplete

Page_PreRender

MasterPage_PreRender

Page_PreRenderComplete

Page_SaveStateComplete



点击母版页Site.Master中的Button按钮

Page_PreInit

MasterPage_Init

Page_Init

Page_InitComplete

Page_PreLoad

Page_Load

MasterPage_Load

MasterPage-Button事件触发!

Page_LoadComplete

Page_PreRender

MasterPage_PreRender

Page_PreRenderComplete

Page_SaveStateComplete



以上我总结出:



具有Master页的内容页执行时,该内容页的母版页只执行MasterPage_Init、MasterPage_Load、MasterPage_PreRender 和母版页的其他触发事件,值得说明的是Page_Unload(页面卸载事件),母版页先执行Page_Unload 事件然后内容页再执行Page_Unload事件。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: