ASP.Net教程

ASP.NET 生命周期

ASP.NET 生命周期指定,如何:
ASP.NET 处理页面以产生动态输出 应用程序及其页面被实例化和处理 ASP.NET 动态编译页面
ASP.NET 生命周期可以分为两组:
应用生命周期 页面生命周期

ASP.NET 应用程序生命周期

应用程序生命周期有以下几个阶段:
用户请求访问应用程序资源,一个页面。浏览器将此请求发送到 Web 服务器。 统一管道接收第一个请求并发生以下事件: 创建了 ApplicationManager 类的对象。 创建 HostingEnvironment 类的对象以提供有关资源的信息。 编译应用程序中的顶级项目。 创建响应对象。 HttpContext、HttpRequest 和 HttpResponse 等应用程序对象被创建和初始化。 一个 HttpApplication 对象的实例被创建并分配给请求。 请求由 HttpApplication 类处理。此类会引发不同的事件来处理请求。

ASP.NET 页面生命周期

当一个页面被请求时,它被加载到服务器内存中,进行处理,然后发送到浏览器。然后从内存中卸载。在每个步骤中,方法和事件都是可用的,可以根据应用程序的需要进行覆盖。换句话说,您可以编写自己的代码来覆盖默认代码。
Page 类创建页面上所有控件的分层树。页面上的所有组件,除了指令,都是这个控制树的一部分。您可以通过向页面指令添加 trace="true" 来查看控制树。我们将在"指令"和"事件处理"下介绍页面指令和跟踪。
页面生命周期阶段是:
初始化 页面控件的实例化 国家的恢复和维护 事件处理程序代码的执行 页面渲染
了解页面周期有助于编写代码,以便在页面生命周期的任何阶段发生一些特定的事情。它还有助于编写自定义控件并在正确的时间初始化它们,使用视图状态数据填充它们的属性并运行控件行为代码。
以下是 ASP.NET 页面的不同阶段:
页面请求-当 ASP.NET 收到页面请求时,它决定是否解析和编译页面,或者是否会有页面的缓存版本;相应地发送响应。 页面生命周期的开始-在这个阶段,请求和响应对象被设置。如果请求是旧请求或回发,则页面的 IsPostBack 属性设置为 true。页面的 UICulture 属性也已设置。 页面初始化-在此阶段,页面上的控件通过设置 UniqueID 属性分配唯一 ID,并应用主题。对于新请求,将加载回发数据并将控件属性恢复为视图状态值。 页面加载-在此阶段,使用视图状态和控件状态值设置控件属性。 Validation-调用验证控件的 Validate 方法,并在成功执行后,将页面的 IsValid 属性设置为 true。 回发事件处理-如果请求是回发(旧请求),则调用相关的事件处理程序。 页面呈现-在这个阶段,页面和所有控件的视图状态都被保存。页面为每个控件调用Render方法,渲染的输出写入页面Response属性的OutputStream类中。 卸载-呈现的页面被发送到客户端,页面属性(例如响应和请求)被卸载并完成所有清理。

ASP.NET 页面生命周期事件

在页面生命周期的每个阶段,页面都会引发一些可以编码的事件。事件处理程序基本上是一个函数或子例程,绑定到事件,使用诸如 Onclick 或 handle 之类的声明性属性。
以下是页面生命周期事件:
PreInit-PreInit 是页面生命周期中的第一个事件。它检查 IsPostBack 属性并确定页面是否为回发。它设置主题和母版页,创建动态控件,并获取和设置配置文件属性值。可以通过重载 OnPreInit 方法或创建 Page_PreInit 处理程序来处理此事件。 Init-Init 事件初始化控件属性并构建控件树。可以通过重载 OnInit 方法或创建 Page_Init 处理程序来处理此事件。 InitComplete-InitComplete 事件允许跟踪视图状态。所有控件都会打开视图状态跟踪。 LoadViewState-LoadViewState 事件允许将视图状态信息加载到控件中。 LoadPostData-在这个阶段,所有输入字段的内容都是用 <form> 标签定义的。 PreLoad-在回发数据加载到控件之前发生预加载。可以通过重载 OnPreLoad 方法或创建 Page_PreLoad 处理程序来处理此事件。 Load-首先为页面引发 Load 事件,然后为所有子控件递归引发。创建控件树中的控件。可以通过重载 OnLoad 方法或创建 Page_Load 处理程序来处理此事件。 LoadComplete-加载过程完成,控制事件处理程序运行,页面验证发生。可以通过重载 OnLoadComplete 方法或创建 Page_LoadComplete 处理程序来处理此事件 PreRender-PreRender 事件发生在渲染输出之前。通过处理此事件,页面和控件可以在呈现输出之前执行任何更新。 PreRenderComplete-由于为所有子控件递归触发 PreRender 事件,此事件可确保完成预渲染阶段。 SaveStateComplete-页面上的控制状态被保存。保存个性化、控制状态和查看状态信息。生成 HTML 标记。可以通过覆盖 Render 方法或创建 Page_Render 处理程序来处理此阶段。 UnLoad-UnLoad 阶段是页面生命周期的最后一个阶段。它为所有控件递归引发 UnLoad 事件,最后为页面本身引发。最终清理完成并释放所有资源和引用,例如数据库连接。可以通过修改 OnUnLoad 方法或创建 Page_UnLoad 处理程序来处理此事件。
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4