(3)初始化页面:页面初始化期间,可以使用页中的控件,并将设置每个控件的UniqueID属性。如果当前请求是回发请求,则回发数据尚未加载,并且控件属性值尚未还原为视图状态中的值。
C#代码
1.using System;
2.using System.Collections;
3.using System.Configuration;
4.using System.Data;
5.using System.Web;
6.using System.Web.Security;
7.using System.Web.UI;
8.using System.Web.UI.HtmlControls;
9.using System.Web.UI.WebControls;
10.using System.Web.UI.WebControls.WebParts;
11.
12.public partial class _Default : System.Web.UI.Page
13.{
14. protected int i = 1;
15.
16. protected void Page_PreInit(object sender, EventArgs e)
17. {
18. Response.Write(i + ".PreInit:当页面初始化开始时发生");
19. i++;
20. Response.Write("<br>");
21. }
22.
23. protected void Page_Init(object sender, EventArgs e)
24. {
25. Response.Write(i + ".Init:当服务器空间初始化时发生");
26. i++;
27. Response.Write("<br>");
28. }
29.
30. protected void Page_InitComplete(object sender, EventArgs e)
31. {
32. Response.Write(i + ".InitComplete:当页初始化完成时发生");
33. i++;
34. Response.Write("<br>");
35. }
36.
37. protected void Page_PreLoad(object sender, EventArgs e)
38. {
39. Response.Write(i + ".PreLoad:当页load事件前发生");
40. i++;
41. Response.Write("<br>");
42. }
43.
44. protected void Page_Load(object sender, EventArgs e)
45. {
46. Response.Write(i + ".Load:当服务器控件加载到Page对象中时发生(加载页面时)");
47. i++;
48. Response.Write("<br>");
49.
50. //在Load和LoadComplete之间会执行控件事件.
51. //如 Button 控件的 Click 事件或 TextBox 控件的 TextChanged 事件。
52. }
53.
54. protected void Page_LoadComplete(object sender, EventArgs e)
55. {
56. Response.Write(i + ".LoadComplete:当页面生命周期的加载阶段结束时发生");
57. i++;
58. Response.Write("<br>");
59. }
60.
61. protected void Page_PreRender(object sender, EventArgs e)
62. {
63. Response.Write(i + ".PreRender:当页加载控件之后,呈现之前发生,使用该事件对页或其控件的内容进行最后更改(预呈现)");
64. i++;
65. Response.Write("<br>");
66. }
67.
68.
69. protected void Page_PreRenderComplete(object sender, EventArgs e)
70. {
71. Response.Write(i + ".PreRenderComplete:呈现内容前发生.(预呈现完成)");
72. i++;
73. Response.Write("<br>");
74. }
75.
76.
77.
78.
79. protected void Page_SaveStateComplete(object sender, EventArgs e)
80. {
81. /*网页上控件的状态信息是在 PreRenderComplete 事件后保存的。
82. 在SaveStateComplete事件之前用Trace查看页时其实在该事件前还有
83. 一个SaveState事件,只是这里无法演示.
84.
85. 注意:SaveStateComplete 事件在将页和页上控件的视图状态和控件状态保存到持久性介质之后引发。
86. 这是在页被呈现到请求浏览器之前引发的最后一个事件。*/
87.
88. Response.Write(i + ".SaveStateComplete:在页已完成对页和页上控件的所有视图状态和控件状态信息的保存后发生.");
89. i++;
90. Response.Write("<br>");
91.
92.
93.
94.
95. /*最后一部操作
96. 呈现:Render:
97. 它不是事件;在处理的这个阶段,Page 对象会在每个控件上调用此方法Render()。
98. 所有 ASP.NET Web 服务器控件都有一个用于写出发送给浏览器的控件标记的 Render 方法。*/
99.
100.
101. /*当你关闭页面的时候就会引发UnLoad(当服务器控件从内存中卸载时发生)
102. 和Disposed两事件(当从内存释放服务器控件时发生,这是服务器控件生存期的最后阶段)
103.
104. 首先加载UnLoad事件:卸载页面:完全呈现页、将页发送至客户端并准备丢弃时,
105. 将调用卸载。此时,将卸载页属性(如Response和Request)并执行清理.
106.
107. 最后加载Disposed事件,释放资源,生命周期结束....
108. */
109. }
110.
111.}
原文:
http://jhxk.javaeye.com/blog/359762