Page类是在System.Web.UI的命名空间下面,Page类派生于TemplateCotrol,Ihtthandler接口,TemplateControl类是一个抽象类,它为 Page 类和 UserControl 类提供通用属性和方法。
Page类的执行流程
public partial class Index : System.Web.UI.Page { public int count = 0; protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { Response.Write(count + "当OnPreLoad执行完后才执行此处<br />"); } } protected override void OnPreInit(EventArgs e) { base.OnPreInit(e); Response.Write(count + "OnPreInit 页初始化 <br />"); count++; } protected override void OnInit(EventArgs e) { base.OnInit(e); Response.Write(count + "OnInit 事件页进行初始化 <br />"); count++; } protected override void OnLoad(EventArgs e) { base.OnLoad(e); Response.Write(count + "OnLoad 事件 <br />"); count++; } protected override void OnPreLoad(EventArgs e) { base.OnPreLoad(e); Response.Write(count + "OnPreLoad 在回发数据已加载到页服务器控件之后但在 System.Web.UI.Control.OnLoad(System.EventArgs) 事件之前,引发 System.Web.UI.Page.PreLoad事件。 <br />"); count++; } protected override void OnLoadComplete(EventArgs e) { base.OnLoadComplete(e); Response.Write(count + "OnLoadComplete 在页加载阶段结束时引发 System.Web.UI.Page.LoadComplete 事件。 <br />"); count++; } protected override void OnInitComplete(EventArgs e) { base.OnInitComplete(e); Response.Write(count + "OnInitComplete 在页初始化后引发 System.Web.UI.Page.InitComplete 事件。 <br />"); count++; } protected override void OnUnload(EventArgs e) { base.OnUnload(e); } protected override void OnDataBinding(EventArgs e) { base.OnDataBinding(e); Response.Write(count + "OnDataBinding <br />"); count++; } protected override void OnPreRender(EventArgs e) { base.OnPreRender(e); Response.Write(count + "OnPreRender <br />"); count++; } protected void btnGraphics_Click(object sender, EventArgs e) { //Bitmap bmp = new Bitmap(10, 10); //Graphics g = Graphics.FromImage(bmp); Response.Write(count + "btnGraphics_Click <br />"); count++; } protected void Unnamed_Click(object sender, EventArgs e) { Response.Write(count + "btnGraphics_Click <br />"); count++; } }
网页端输出
0OnPreInit 页初始化
1OnInit 事件页进行初始化
2OnInitComplete 在页初始化后引发 System.Web.UI.Page.InitComplete 事件。
3OnPreLoad 在回发数据已加载到页服务器控件之后但在 System.Web.UI.Control.OnLoad(System.EventArgs) 事件之前,引发 System.Web.UI.Page.PreLoad事件。
4OnLoad 事件
5OnLoadComplete 在页加载阶段结束时引发 System.Web.UI.Page.LoadComplete 事件。
6OnPreRender
如果在页面中调用服务器控件 产生一个click事件 。
0OnPreInit 页初始化
1OnInit 事件页进行初始化
2OnInitComplete 在页初始化后引发 System.Web.UI.Page.InitComplete 事件。
3OnPreLoad 在回发数据已加载到页服务器控件之后但在 System.Web.UI.Control.OnLoad(System.EventArgs) 事件之前,引发 System.Web.UI.Page.PreLoad事件。
4OnLoad 事件
5btnGraphics_Click //在这里
6OnLoadComplete 在页加载阶段结束时引发 System.Web.UI.Page.LoadComplete 事件。
7OnPreRender