ASP.NET深入浅出系列2-页面生命周期详解2012-01-18上个系列中介绍了页面生命周期的整体流程,可能有些读者还想更进一步了解整个生命周期的细节,限于篇幅我不可能讲到所有细节,也没必要,这里仅举几个例子,大家可以通过这几个例子学习一下页面生命周期的研究方式。Control类中有如下事件//   当服务器控件绑定到数据源时发生。public event EventHandler DataBinding;//   当从内存释放服务器控件时发生,这是请求 ASP.NET 页时服务器控件生存期的最后阶段。public event EventHandler Disposed;//   当服务器控件初始化时发生;初始化是控件生存期的第一步。public event EventHandler Init;//   当服务器控件加载到 System.Web.UI.Page 对象中时发生。public event EventHandler Load;//   在加载 System.Web.UI.Control 对象之后、呈现之前发生。public event EventHandler PreRender;//   当服务器控件从内存中卸载时发生。public event EventHandler Unload;因为每个Page和绝大多书控件都是继承于这个Control类,所以他们都可以注册这些事件,如果我们提供了相应名字的方法,ASP.NET在编译时会帮我们注册相应的方法到事件中,比如我们如果在页面中写了如下方法
protected void Page_Init(object sender, EventArgs e)  {    Trace.Write("Page_Init");  }那ASP.NET在编译时会将这个方法注册到Control类的Init事件中,也就是当页面初始化的时候就会调用这个Page_Init方法。我们右键Page类“选转到定义”菜单可以看到Page的定义,这个定义中还有些事件//   在页初始化完成时发生。public event EventHandler InitComplete;//   在页生命周期的加载阶段结束时发生。public event EventHandler LoadComplete;//   在页初始化开始时发生。public event EventHandler PreInit;//   在页 System.Web.UI.Control.Load 事件之前发生。public event EventHandler PreLoad;