『本文系我自己看书做的笔记,有些是靠我弱智的英语自己看后做的笔记,难免有错误,日后也可会随时更改.大家发现错误可以指出,但少点嘲笑.各位看官请选择性收看.谢谢您的光临.』
当你请求一个ASP.NET的页面,一组事件按照一定的顺序被抛出,这个抛出事件的顺序我们称之为"页面的生命周期".
我们通常在Page Load事件中(Page_Load方法)初始化页面内的属性以及组件等,然而,这只是Page类中支持的事件的其中一个.
下面是当你请求一个ASP.NET的页面所派发出的事件以及其顺序:
1. PreInit
2. Init
3. InitComplete
4. PreLoad
5. Load
6. LoadComplete
7. PreRender
8. PreRenderComplete
9. SaveStateComplete
10. Unload
这么多啊,在不同的生命周期的阶段可访问不同的东西.
例如,ViewState直到派发完InitComplete事件后才被加载.
99%的情况下,我们不必处理所有的事件,通常我们常用的是两个:
1)Load:发生在所有的页面内组件所派发的事件之前;
2)PreRender:发生在所有的页面内组件所派发的事件之后;
下面的示例,演示说明了上面的情况:
事件处理的顺序很明显.