处理过回发事件之后,页面便为浏览器生成输出做好了准备。呈现阶段分为两部分:预呈现和标记生成。预呈现这个子阶段有两个事件表征,分别为:预处理和投递处理。

PreRender事件

通过处理该事件,页面和控件能够进行生成输出前的不论什么更改。页面会首先引发自己的PreRender事件。然后按递归方式引发全部的子控件。注意,这时的页面已确保其全部子控件都被创建。

对于组合控件来说。该阶段尤为重要。

PreRenderComplete事件

因为全部子控件的PreRender事件会以递归方式逐一被调用,因而页面设计者无法知道预呈现阶段是否已经完毕。为此,asp.net2.0版本号引入了一个仅仅针对页面的新事件。即PreRenderComplete事件。

SaveStateComplete事件

在每一个控件被呈现输出,为页面生成标记前的一段时间里。要将当前页面的状态存储在视图状态介质中。

值得一提的是,在该点之后对状态做的不论什么更改可能会被呈现,但不会被存储,且在下一次回发时无法获得恢复。页面状态存储是一个递归的过程,页面处理程序会遍历整个页面树,逐一调用每一个控件的SaveViewState方法。包含页面自身的。

SaveViewState是受保护的虚拟方法(能够重写),负责存储当期控件的ViewState字典内容。

还有还有一种状态类型。即所谓的“控件状态”,控件状态是一种私有的状态。不受应用程序控件支配。换句话说,控件的控件状态不可以像视图状态一样。以编程方式被禁用。控件状态在此时也会被存储。

他是还有一种状态状态存储机制,与视图状态类似,其数据也可以用于维护页间回发,但控件状态的目的是,维护控件的必要信息,以便使其正常工作。也就是说。具有状态行为的属性数据应保存在控件状态中,而用户界面属性数据(如控件的内容)应保存在视图状态中。

标记的生成

针对浏览器的标记生成。会分别由每一个子控件自己完毕,生成的标记会被存储到一个缓冲中。有几个重写方法会帮助开发人员分别标记生成的阶段进行控制--開始标签、主体和结束标签。

没有与该阶段相关联的用户事件。

Unload事件

呈现阶段之后会进行一次递归调用,引发每一个控件的Unload事件,最后是页面自身的。

Unload事件用于在页面对象被释放前。运行终于的清理工作。一般的操作作为文件和数据库链接的关闭。

注意,卸载通知会在页面或控件正要被卸载且尚未被释放前到大。对于实际的页面,重写Page类的Dispose方法。或仅仅处理页面的Disposed事件,是在它从内存中被释放前做清理工作的最后机会 。页面处理程序会调用Dispose方法,释放页面对象。在对Unload事件处理程序的递归调用完成之后,会被马上引发。

asp.net页面生命周期之页面的终结阶段的更多相关文章

  1. asp.net页面生命周期

    Asp.Net页面生命周期 本文转载自:http://www.cnblogs.com/xhwy/archive/2012/05/20/2510178.html 一.什么是Asp.Net页面生命周期 当 ...

  2. ASP.NET编程模型之ASP.NET页面生命周期图解

    ASP.NET编程模型中ASP.NET页面生命周期是指什么呢?它包括什么呢?ASP.NET编程模型之ASP.NET页面生命周期具体的过程有哪些呢?下面就开始我们的讲解吧: ASP.NET 页运行时,此 ...

  3. .net学习笔记---IIS 处理模型及ASP.NET页面生命周期

    本文是基于IIS6的处理模型. 当一个客户端页面访问IIS试图获取一些信息的时候,发生了什么事情?一个请求在通过了HTTP管道后又发生了什么?本文主要是描述这两个过程,即IIS处理asp.net请求和 ...

  4. Asp.Net页面生命周期--转发(学海无涯)

    一.什么是Asp.Net页面生命周期 当我们在浏览器地址栏中输入网址,回车查看页面时,这时会向服务器端(IIS)发送一个request请求,服务器就会判断发送过来的请求页面,  完全识别 HTTP 页 ...

  5. Asp.Net页面生命周期【转载,地址:http://www.cnblogs.com/xhwy/archive/2012/05/20/2510178.html】

    一.什么是Asp.Net页面生命周期 当我们在浏览器地址栏中输入网址,回车查看页面时,这时会向服务器端(IIS)发送一个request请求,服务器就会判断发送过来的请求页面,  完全识别 HTTP 页 ...

  6. 【转载】Asp.Net页面生命周期

    一.什么是Asp.Net页面生命周期 当我们在浏览器地址栏中输入网址,回车查看页面时,这时会向服务器端(IIS)发送一个request请求,服务器就会判断发送过来的请求页面,  完全识别 HTTP 页 ...

  7. Asp.Net页面生命周期[转]

    一.什么是Asp.Net页面生命周期 当我们在浏览器地址栏中输入网址,回车查看页面时,这时会向服务器端(IIS)发送一个request请求,服务器就会判断发送过来的请求页面,  完全识别 HTTP 页 ...

  8. ASP.net 页面生命周期

    ASP.NET 页面生命周期 Page_Preinit(); 在页初始化开始时发生 Page_Init(); 在所有控件初始化且应用外观设置后引发 Page_InitComplete(); 在页初始化 ...

  9. [转]ASP.NET应用程序生命周期趣谈(四) HttpHandler和页面生命周期

    在之前的三篇文章中,我们还算简明扼要的学习了asp.net的整个生命周期,我们知道了一个Request进来以后先去ISAPI Filter,发现是asp.net程序后又ASPNET_ISAPI.dll ...

随机推荐

  1. Jsonp方式和httpclient方式有什么区别?

    jsonp基于js,解决跨域问题,本质发起ajax情求但是Jsonp只支持get请求. 它不安全,它先解析js,然后发起ajax请求,然后获取到返回值,通过浏览器返回,最后解析. JQuery和Spr ...

  2. Laravel5中的Session

    有关Session的配置文件是aonfig/session.PHP文件. 如果不使用基于数据库.cookie或者Redis缓存类的Session的话,不需要改配置文件就可以使用了. 下面一个简单的使用 ...

  3. PTA L2-001 紧急救援-最短路(Dijkstra)多条最短路找最优解并输出路径 团体程序设计天梯赛-练习集

    L2-001 紧急救援 (25 分)   作为一个城市的应急救援队伍的负责人,你有一张特殊的全国地图.在地图上显示有多个分散的城市和一些连接城市的快速道路.每个城市的救援队数量和每一条连接两个城市的快 ...

  4. 17-7-25-js记录

    先说明下为什么说好每天一更,周五周六周日都没有更新.因为在周五的时候,上司主动找我谈了转正后的工资4-4.5K.本来想好是6K的,后来打听了一圈公司的小伙伴,都是5-5.5,我就把自己定到了5K.万万 ...

  5. React 中组件的生命周期

    先上代码, react 用的是 15.0.1 <!DOCTYPE html> <html> <head> <script src="./build/ ...

  6. 泛型类Bag

    课堂练习--泛型类Bag 要求: 0.代码运行在命令行中,路径要体现学号信息,IDEA中,伪代码要体现个人学号信息 1.参见Bag的UML图,用Java继承BagInterface实现泛型类Bag,并 ...

  7. JVM 参数配置及详解 -Xms -Xmx -Xmn -Xss 调优总结

    堆大小设置 JVM 中最大堆大小有三方面限制: ①.相关操作系统的数据模型(32-bt还是64-bit)限制; ②.系统的可用虚拟内存限制; ③.系统的可用物理内存限制. 32位系统 下,一般限制在1 ...

  8. [转]115个Java面试题和答案——终极列表(下)

    第一篇讨论了面向对象编程和它的特点,关于Java和它的功能的常见问题,Java的集合类,垃圾收集器,本章主要讨论异常处理,Java小应用程序,Swing,JDBC,远程方法调用(RMI),Servle ...

  9. 关于abstract class 和 interface

    1.abstract class 在 Java 语言中表示的是一种继承关系,一个类只能使用一次继承关系.但是,一个类却可以实现多个interface. 2.在abstract class 中可以有自己 ...

  10. 使用CURL抓取淘宝页面

    /** * 根据地址抓取淘宝页面html代码 * @param type $url 地址 * @return boolean */ public function getTaoBaoHtml($url ...