WebPart 生存周期

Just like ASP.NET controls, web parts participate in a server-side request/response sequence
that loads a page in the portal each time it is requested, and unloads the page once it is sent
to the client. Web parts, therefore, follow the same control life cycle that ASP.NET controls follow.

了解一个WebPart的生存周期,对我们在开发Webpart时很有帮助,只有你清楚地了解了这些事件执行的先后顺序
才能写出优美的代码。
当一个包含WebPart的WSS站点页面被响应请求或者是它被提交到Server端的时候,这时WebPart生存周期开始了:

OnInit  初始化,加载相关配置文件  (如WebPart任务面板上的属性,样式等配置信息)
LoadViewState 返回先前最后一次被处理的状态 (如webpart是展现,隐藏还是关闭)
CreateChildControls  创建WebPart UI ,通过Controls.Add()方法装载Web 控件 (Note:当Webpart是第一次展现的时候CreateChildControls方法发生在OnLoad方法之前,而经过一次postback之后,它发生在OnLoad方法之后)
OnLoad 

从数据库或者其他系统重新获取要展现的数据 (如获取数据库连接)

User-Generated Events 响应用户生成事件 (如Button Click)
RendenContents 生成 html output,实现最终的UI展现 (由HTMLTextWriter class 来实现) 
SaveViewState 保存控件状态 (ViewState 被序列化之后保存在一个hidden field 里)
Dispose 从内存中移除对象,释放临界资源 (如释放数据库连接)
OnUnLoad 最终完成内存清除工作


posted on 2008-01-22 21:43  Ken Lin  阅读(686)  评论(1编辑  收藏  举报

导航