asp.net页面的生命周期
2010-08-12 16:38
204 查看
asp.net页面运行的时候将经历一个生命周期,这个生命周期中会进行一系列的操作,调用一系列的方法。了解asp.net页面的生命周期对于精确控制页面的控件呈现方式和行为非常重要。
一般说来一个常规页面要经历如下几个生命周期阶段:
在页的生命周期中,一般会有如下事件:
一般说来一个常规页面要经历如下几个生命周期阶段:
阶段 | 说明 |
页请求 | 页请求发生在页生命周期开始之前。用户请求页时,ASP.NET 将确定是否需要分析和编译页(从而开始页的生命周期),或者是否可以在不运行页的情况下发送页的缓存版本以进行响应。 |
开始 | 在开始阶段,将设置页属性,如 Request 和 Response。在此阶段,页还将确定请求是回发请求还是新请求,并设置 IsPostBack 属性。此外,在开始阶段期间,还将设置页的 UICulture 属性。 |
页初始化 | 页初始化期间,可以使用页中的控件,并将设置每个控件的 UniqueID 属性。此外,任何主题都将应用于页。如果当前请求是回发请求,则回发数据尚未加载,并且控件属性值尚未还原为视图状态中的值。 |
加载 | 加载期间,如果当前请求是回发请求,则将使用从视图状态和控件状态恢复的信息加载控件属性。 |
验证 | 在验证期间,将调用所有验证程序控件的 Validate 方法,此方法将设置各个验证程序控件和页的 IsValid 属性。 |
回发事件处理 | 如果请求是回发请求,则将调用所有事件处理程序。 |
呈现 | 在呈现期间,视图状态将被保存到页,然后页将调用每个控件,以将其呈现的输出提供给页的 Response 属性的 OutputStream。 |
卸载 | 完全呈现页、将页发送至客户端并准备丢弃时,将调用卸载。此时,将卸载页属性(如 Response 和 Request)并执行清理。 |
页事件 | 典型使用 |
Page_PreInit | 使用 IsPostBack 属性确定是否是第一次处理该页。 创建或重新创建动态控件。 动态设置主控页。 动态设置 Theme 属性。 读取或设置配置文件属性值。 注意:如果请求是回发请求,则控件的值尚未从视图状态还原。如果在此阶段设置控件属性,则其值可能会在下一阶段被改写。 |
Page_Init | 读取或初始化控件属性。 |
Page_Load | 读取和更新控件属性。 |
Control events | 执行特定于应用程序的处理: 如果页包含验证程序控件,请在执行任何处理之前检查页和各个验证控件的 IsValid 属性。 处理特定事件,如 Button 控件的 Click 事件。 |
Page_PreRender | 对页的内容进行最后更改。 |
Page_Unload | 执行最后的清理工作,可能包括: 关闭打开的文件和数据库连接。 完成日志记录或其他特定于请求的任务。 |
相关文章推荐
- .NET (C#) Internals: ASP.NET 应用程序与页面生命周期(意译)
- ASP.NET应用程序与页面生命周期
- 研究Asp.net页面的生命周期
- asp.net页面生命周期
- ASP.NET Web 页面生命周期
- 详解ASP.NET页面生命周期事件
- ASP.NET页面生命周期
- Asp.net页面的生命周期之通俗理解 [zt]
- ASP.NET页面生命周期描述
- asp.net页面生命周期
- ASP.NET页面生命周期
- asp.net页面生命周期之页面的终结阶段
- ASP.NET页面上的生命周期与事件顺序
- asp.net 页面生命周期 小谈
- Asp.net页面的生命周期
- ASP.net 的页面生命周期
- Asp.Net页面生命周期
- 最权威的 asp.net页面的生命周期
- ASP.NET页面生命周期
- asp.net page life circle(asp.net页面生命周期)