其中asp.net服务器控件的生命周期,是开发控件的第一步,也是核心。
服务器控件生命周期包括以下11个阶段:
- 初始化(OnInit):完成控件的初始化及打开控件的视图状态跟踪功能。
- 加载视图状态(LoadViewState):本阶段只在页面回发时才执行,完成加载视图状态到控件的任务。
- 加载回传数据(LoadPostData):本阶段只在页面回发时执行,用于装在客户端提交的数据
- 装载(OnLoad):页面装载时先执行页面的Page_Load事件,再执行各个子控件的OnLoad方法。
- 数据回传事件通知(RaisePostDataChangedEvent):本阶段只在页面回发时执行。当LoadPostData方法返回值为true时,该方法才会被调用。
- 触发回发事件(RaisePostBackEvent):本阶段仅在页面回发时执行,主要处理引起回发的客户端事件。
- 预呈现(OnPreRender):本阶段主要完成控件呈现之前所需要的一些工作,一般对控件进行资源注册,如注册javascript脚本和隐藏域控件等。
- 保存视图状态(SaveViewState):把页面控件视图信息进行存储。
- 呈现(Render):主要将控件标记和字符文本输出到服务器控件输出流中,可以直接些HTML标记,也可以调用每个控件都与的RenderControl方法。
- 卸载(OnUnload):对控件进行资源清除工作。
- 释放(Dispose):释放使用的资源,如数据库连接,IO文件流等.
这里只是讲了一些基本的概念,也许很多人会觉得是雾里看花,其实没关系,就当是一个引子吧,相信接触到实际的控件开发之后会对各个事件有比较深刻的理解。