马云 联想的三要素:Asp.Net中,page类(page class)及其控件的主要事件及关系

来源:百度文库 编辑:中财网 时间:2024/04/27 20:19:50
Asp.net的page类,是一个html页面。对于asp.net应用程序,最终结果都要体现在此类的实现当中。该类一系列的事件对于初始化,内容控制,参数和结果传递都十分重要。本文把这些事件做一个整理。
一开始,第一个事件是构造函数,这里可以做初始工作,但是不能太性急,因为许多其它成员还没有准备好。接下来是OnInit,状态有了进一步发展,一些成员已经先一步OnInit完毕,你可以和它们交谈了。然后是OnLoad,接着是Page_Load,CreateChildControls,OnPreRender,SaveViewState,RenderControl,最后是Render和OnUnload。要注意的是,每个事件都可能有OnPre事件,也可能有OnComplete事件,甚至可能有OnPreComplete事件,使用时要查手册。Page_Load发生在OnLoad和OnLoadComplete之间。

如果你关心page类和它属下的控件之间的关系,就会发现,控件的OnInit会比page的更早!顺序是,page构造函数,子控件构造函数,子控件OnInit,page.OnInit,page.Onload,Page_Load,子控件OnLoad,子控件Page_Load,page.OnLoadComplete,page.CreateChildControls,page.OnPreRender,page.SaveViewState,page.RenderControl,page.Render,RenderChildren,子控件Render,子控件OnUnload,page.OnUnload。

再进一步,如果page是带有Master Page的,事情会如何?谁是谁的父控件?结论是page是master的父控件,master是子控件。master是page的第一子控件,所有子控件的同一个事件,master的总是第一个发生。如果你要让page的一个子控件和master交谈,正确理解各自事件发生的顺序是十分必要的。