为了保持连续执行的过程,控件开发人员必须知道控件的执行顺序.控件开发人员需要了解在控件生命周期的各个阶段,控件可使用哪些信息.保存哪些数据.控件呈现时处于那种状态.
2) 加载视图状态,初始化之后,页面框架将加载页面的视图状态.视图状态时名称和值对的集合,视图状态岱庙了页面的调用上下文.通常,它包含上次在服务器上处理页面时控件的状态.我们可以重写LoadViewState方法,以自定义状态还原.
3) 处理回发数据.加载视图状态之后,页面树中控件的状态与页面最后一次显示在浏览器中的状态相同.下一步是更新它们的状态已加入客户端的修改.(LoadPostData)
4) 加载 LoadPostData方法是在Load事件后立即调用的.通过对LoadPostData方法进行编码,控件将验证自上次请求后是否发生了关键更改,并触发了自己的更改事件
5) 发送回发更改通知和处理回发事件
发送回发更改通知:引发更改事件以响应当前和以前回发之间的状态更改(RaisePostDataChangedEvent)
处理回发事件:在处理器上引发相应的事件,以处理引起回发的客户端事件(RaisePostBackEvent)
6) 预呈现,保存状态和呈现.这个阶段的标志是PreRender事件.控件可以利用这段时间来执行那些需要在保存视图状态和显示输出的前一刻执行更新操作.在此状态中,所有控件和页面本身都将更新ViewState集合内容