.Net_asp.net页面的生命周期
2013-02-17 00:56
295 查看
![](http://images.cnitblog.com/blog/451793/201302/17004150-483df3301c3f4a47ab7303db7a574a20.jpg)
页面的生命周期
页面pr方法内部处理过程:
第一步:创建页面控件树,根据 Form里面的请求内容(ViewState)确定是否是IsPostBack
第二步:页面初始化之前
this.PerformPreInit();
private void PerformPreInit()
{
this.OnPreInit(EventArgs.Empty);//一般在这里面设置主题,加载模板由
this.InitializeThemes();//初始化主题,如果已经设置主题直接退出,如果没有设置根据配置来。
this.ApplyMasterPage();//设置模板页,如果模板页已经存在(如在OnInit代码里面设置了新的模板页就不走原来的了)就结束
this._preInitWorkComplete = true;
}
第三步:
OnInit()执行
this.OnInitComplete(EventArgs.Empty);//初始化结束;
第四步:处理回发数据
if(IsPostBack)
{
this.LoadAllState();//加载所有的ViewSate:Page以及控件的
this.ProcessPostData(this._requestValueCollection, true);//处理回发数据,就是看一下哪些控件变化了,然后调用下面的方法
this.RegisterRequiresRaiseEvent(control.PostBackEventHandler);//注册要触发事件的控件
}
第五步:
this.OnPreLoad(EventArgs.Empty);//调用加载的事件
第六步:
Onload()
this.LoadRecursive();//递归加载,把所有控件里面的Load事件触发了
第七步:
if(IsPostBack)
{
this.ProcessPostData(this._leftoverPostData, false);//再处理一下ViewState数据
this.RaiseChangedEvents();//调用一些需要ViewState参与才能感知 事件的方法执行
this.RaisePostBackEvent(this._requestValueCollection);//调用 按钮的click事件处理
}
第八步:
this.OnLoadComplete(EventArgs.Empty);加载完。
第十步:
this.PrepareCallback(callbackControlID);//为 IsPostback设置标志
this.PreRenderRecursiveInternal();//加载html,渲染服务器端控件之前,允许你最后一次改变当前控件东西
this.SaveAllState();//保存ViewState
this.OnSaveStateComplete(EventArgs.Empty);//保存完成
this.RenderControl(this.CreateHtmlTextWriter(this.Response.Output));//把服务器控件转变成浏览器能识别的Html代码
this._context.ApplicationInstance.CompleteRequest();
//最后生成响应报文返回给浏览器。
相关文章推荐
- .NET (C#)ASP.NET 应用程序与页面生命周期
- .NET (C#) Internals: ASP.NET 应用程序与页面生命周期(意译)(转)
- 一起谈.NET技术,关于ASP.NET页面生命周期的整体把握
- .NET (C#) Internals: ASP.NET 应用程序与页面生命周期(意译)
- .NET (C#) Internals: ASP.NET 应用程序与页面生命周期
- .net学习笔记---IIS 处理模型及ASP.NET页面生命周期
- .NET (C#) Internals: ASP.NET 应用程序与页面生命周期——吴秦(Tyler)
- .NET (C#) Internals: ASP.NET 应用程序与页面生命周期(意译)
- 深入研究Asp.net页面的生命周期<转>
- .Net 我的学习之路(四) --- Asp.Net 页面状态
- 浅谈IIS处理Asp.net请求和 Asp.net页面生命周期
- 最权威的 asp.net页面的生命周期
- ASP.NET页面生命周期的整体把握
- ASP.NET页面和控件的生命周期
- asp.net页面生命周期
- Asp.Net页面生命周期(多图)
- ASP.Net请求处理机制初步探索之旅 - Part 4 WebForm页面生命周期
- 在ASP.NET 2.0中,一个ASP.NET页面的生命周期
- asp.Net页面生命周期
- 记不住ASP.NET页面生命周期的苦恼