ASP.NET页面主要事件执行顺序 | ||||
过程 | 方法 | IsNotPostBack | IsPostBack | IsCallBack |
& | ||||
IsNotCallBack | ||||
初始化 | Constructor | √ | √ | √ |
AddParsedSubObject | √ | √ | √ | |
DeterminePostBackMode | √ | √ | √ | |
OnInit | √ | √ | √ | |
恢复加载 | LoadPageStateFromPersistenceMedium | √ | √ | |
LoadControlState/LoadViewState | √ | √ | ||
ProcessPostData(Once) | √ | √ | ||
OnLoad | √ | √ | √ | |
处理事件 | ProcessPostData(Twice) | √ | √ | |
RaiseChangedEvents | √ | |||
RaisePostBackEvent | √ | |||
RaiseCallbackEvent | √ | |||
GetCallbackResult | √ | |||
OnPreRender | √ | √ | ||
保存呈现 | SaveControlState/SaveViewState | √ | √ | |
SavePageStateToPersistenceMedium | √ | √ | ||
Render | √ | √ | ||
RenderChildren | √ | √ | ||
OnUnload | √ | √ | √ | |
说明 | ||||
仅仅描述了简单页面的生命周期,对于嵌套子控件都采用从外到内的顺序执行,且子控件都具有自己的生命周期,执行顺序与页面类似,对于各个方法的用途请根据方法名自行查阅相关资料; | ||||
ProcessPostData和部分方法是私有的,因此不能重载或访问,ProcessPostData用来获取表单提交的数据与ViewState比较,并根据是否变化触发事件,每次页面请求该方法会被执行两次,从而保证在Load中创建的控件还能赶上末班车; | ||||
CreateChildControls用于动态创建子控件使用,在每次页面请求中仅执行一次,但是执行的顺序不确定,当需要构建控件树时即会被调用,如在LoadViewState中即会调用; |
ASP.NET页面主要事件执行顺序
最新推荐文章于 2016-01-11 15:34:58 发布