看了关于ASP.NET 生命周期的一些文章.
发现客户端在访问一个页面后,会经历一系列事件.我们在做应用开发时,很少去想这些.但是这些细节会对我们开发中起到很重要的帮助作用.
所以想用一个流程图将其画出来.这样在开发时,对照该图.会有一种疱丁解牛的感觉.
ASP.NET 应用程序生命周期 流程图
ASP.NET 页面和控件生命周期 流程图
ASP.NET 页面事件测试Code.
public partial class _Default : System.Web.UI.Page
{
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_SaveStateComplete(object sender, EventArgs e)
{
Response.Write("Page_SaveStateComplete<br/>");
}
protected void Page_Unload(object sender, EventArgs e)
{
int i = 0;
i++;//这行代码是用来设置断点的,为什么不用Response.Write?你说呢?
}
protected void Button1_Click(object sender, EventArgs e)
{
Label1.Text = "ControlEvent";
Response.Write("Button事件触发!<br/>");
}
}
{
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_SaveStateComplete(object sender, EventArgs e)
{
Response.Write("Page_SaveStateComplete<br/>");
}
protected void Page_Unload(object sender, EventArgs e)
{
int i = 0;
i++;//这行代码是用来设置断点的,为什么不用Response.Write?你说呢?
}
protected void Button1_Click(object sender, EventArgs e)
{
Label1.Text = "ControlEvent";
Response.Write("Button事件触发!<br/>");
}
}