不疯不成魔

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

页面pr方法内部处理过程:
第一步:根据Form里面的请求内容(ViewState)确定是否是IsPostBack
第二步:页面初始化之前
this.PerformPreInit()
{
this.OnPreInit(EventArgs.Empty);//一般在这里面设置主题,加载模版由
this.InitializeThemes();//初始化主题,如果已经设置主题直接退出,如果没有设置根据配置来
this.ApplyMasterPage();设置模版页,如果模版页已经存在(如在OnInit代码里面设置了新的模版页就不走原来的了 就结束了)

第三步:
OnInit()执行
this.OninitaComplete(EventArgs.Empty);初始化结束
第四步:处理回发数据
this.LoadAllState();//加载所有的ViewState:page以及控件的
this.ProcessPostData(this._requestValueCollection,true)//处理回发数据,就看一下哪个控件变化了,然后调用先发的方法
第五步:
this.OnPreLoad(EventArgs.Empty)
第六步:
Onload()
this.LoadRecursive();

第七步:
this.ProcessPostData(this._leftoverPostData,false);
this.RaiseChangedEvents();
this.RaisePostBackEvent(this._requestValueCollection);
第八步:
this.OnLoadComplete(EventArgs.Empty);
第十步:
this.PrepareCallback(allbackControlID);
this.PreRenderRecursiveInternal();
this.SaveAllStare();
this.OnSaveStareComplete(EventArgs.Empty);
this.RenderControl(this.CreateHtmlTextWriter(this.Response.Otput))

this._context.ApplicationInstance.Completeresquest();

posted on 2014-09-29 11:57  不疯不成魔  阅读(183)  评论(0)    收藏  举报