asp.net生命周期

本文概述

  • 页面生命周期阶段
  • ASP.NET生命周期事件
在ASP.NET中,网页的执行生命周期包括各个阶段。这些阶段包括初始化,实例化,还原和维护状态等。需要了解页面生命周期,以便我们可以在任何阶段放置自定义代码来执行业务逻辑。
页面生命周期阶段下表包含ASP.NET网页的生命周期阶段。
阶段描述
Page request此阶段发生在生命周期开始之前。当用户请求页面时, ASP.NET解析并编译该页面。
Start在此阶段, 将设置诸如请求和响应之类的页面属性。它还确定请求类型。
Initialization在此阶段, 将设置每个控件的UniqueID属性。将母版页应用于该页面。
Load在此阶段, 如果页面请求被回发, 则控件属性将加载信息。
Postback event handling在此阶段, 如果页面请求为回发, 则调用事件处理程序。之后, 将调用所有验证程序控件的Validate方法。
Rendering在渲染之前, 将保存页面和所有控件的视图状态。在呈现阶段, 页面为每个控件调用Render方法, 提供一个文本编写器, 该文本编写器将其输出写入页面的Response属性的OutputStream对象。
Unload在此阶段, 请求的页面已完全呈现并准备终止。在此阶段, 将卸载所有属性并执行清理。
【asp.net生命周期】请求的页面在处理之后首先加载到服务器内存中,然后发送到Bowser。最后,将其从服务器内存中卸载。 ASP.NET在页面生命周期的每个阶段提供了可以在应用程序中使用的方法和事件。在下表中,我们是事件表。
ASP.NET生命周期事件
页面事件典型用途
PreInit在开始阶段完成之后且在初始化阶段之前引发此事件。
Init初始化所有控件后, 将发生此事件。我们可以使用此事件来读取或初始化控件属性。
InitComplete此事件发生在页面初始化阶段的末尾。我们可以使用此事件进行更改, 以查看我们要确保在下一次回发之后仍然存在的状态。
PreLoad在将回发数据加载到控件之前, 将发生此事件。
Load第一次在页面上引发此事件, 然后对所有子控件递归地引发此事件。
Control events此事件用于处理特定的控件事件, 例如Button控件的Click事件。
LoadComplete此事件发生在事件处理阶段的结尾。我们可以将此事件用于需要加载页面上所有其他控件的任务。
PreRender页面对象创建了呈现页面所需的所有控件之后, 就会发生此事件。
PreRenderComplete在设置了DataSourceID属性的每个数据绑定控件调用其DataBind方法之后, 将发生此事件。
SaveStateComplete在为页面和所有控件保存了视图状态和控件状态之后, 将引发此事件。
Render这不是一个事件。而是在此处理阶段, Page对象在每个控件上调用此方法。
Unload为每个控件然后为页面引发此事件。

    推荐阅读