ASP.NET页面周期

上图为ASP.NET页面生命周期图。
以下详细讲解一下ASP.NET的页面生命周期。
|
请求页 |
请求页发生在页生命周期之前。用户请求时,ASP.NET将确定是否需要分析和编译页面,或者是否可以在不运行页的情况下输出缓存来进行响应。 |
|
开始 |
初始化页面类的属性。设置Request和Response,用于处理用户的请求和要回发数据库的响应的对象,确定是回发请求还是新请求来设置IsPostBack属性。此外,还将设置页的UICulture属性。 |
|
页面初始化 |
可以使用控件,并将设置每个控件的UniqueID属性。此外,任何主题都将应用于页。如果当前请求是回发请求,则回发数据尚未加载,并且控件属性值尚未还原为视图状态中的值。 而且所有控件的属性都将被用默认值来做初始化。 |
|
控件加载 |
读取或者初始化控件的属性,如果当前请求为回发请求,则将使用从视图状态和控件状态恢复的信息加载控件属性。故控件的初始化数据必须在调用来维护控件的视图状态后加载才能保留下来。 |
|
验证 |
通过调用所有验证程序控件的 Validate 方法,此方法将设置各个验证程序控件和页的 IsValid属性。 |
|
加载视图状态(页面是回发时才有) |
在这个事件中运行时从隐藏域(ViewState)中分解出视图状态并加载到所有启用了视图状态的控件中。 |
|
加载回发数据(页面是回发时才有) |
实现了IPostBackDataHandler接口的控件HTTP的Post数据中得到值。但TextBox控件不能从视图状态中获得值,而是在此事件中从POST数据中获得值。 |
|
页面加载 |
读取和更新控件属性,与控件加载过程不同的是,该事件发生在Page_Load方法中,可以实现该方法中一些初始化的操作、判断页面是否第一次加载等等,DropDownList和CheckBoxList的Items条目程序添加也是发生在这个事件中。 但Page_Load不是Page类第一个触发的方法。 |
|
回发事件处理 |
如果请求是回发请求,则将调用所有事件处理程序。注意,事件触发之前首先要触发Page_Load。 |
|
呈现 |
在呈现之前,ASP.NET会针对该页和所有控件保存视图状态。在呈现阶段中,页会针对每个控件调用 Render 方法,它会提供一个文本编写器,用于将控件的输出写入页的 Response 属性的 OutputStream 中。 |
|
卸载 |
完全呈现页并已将页发送至客户端、准备丢弃该页后,将调用卸载。此时,将卸载页属性(如 Response 和 Request)并执行清理。包括关闭打开的文件和数据库连接,完成日志记录或者其他任务。 |
ASP.NET页面周期的更多相关文章
- .NET MVC页面生命周期及传统ASP.NET页面周期
目前我主要使用.Net MVC框架进行网页创建,数据库是MSSQL Server.所以,我就用.NET MVC框架的web页面周期来说明页面的生命周期,但是我觉着其他MVC框架也是大同小异的. 本文主 ...
- ASP.NET页面生命周期描述
下面是ASP.NET页面初始的过程:1. Page_Init();2. Load ViewState;3. Load Postback data;4. Page_Load();5. Handle co ...
- ASP.net 页面生命周期
ASP.NET 页面生命周期 Page_Preinit(); 在页初始化开始时发生 Page_Init(); 在所有控件初始化且应用外观设置后引发 Page_InitComplete(); 在页初始化 ...
- asp.net页面生命周期
Asp.Net页面生命周期 本文转载自:http://www.cnblogs.com/xhwy/archive/2012/05/20/2510178.html 一.什么是Asp.Net页面生命周期 当 ...
- 【深入ASP.NET原理系列】--ASP.NET页面生命周期
前言 ASP.NET页面运行时候,页面将经历一个生命周期,在生命周期中将执行一系列的处理步骤.包括初始化.实例化控件.还原和维护状态.运行时间处理程序代码以及进行呈现.熟悉页面生命周期非常重要,这样我 ...
- ASP.NET编程模型之ASP.NET页面生命周期图解
ASP.NET编程模型中ASP.NET页面生命周期是指什么呢?它包括什么呢?ASP.NET编程模型之ASP.NET页面生命周期具体的过程有哪些呢?下面就开始我们的讲解吧: ASP.NET 页运行时,此 ...
- 【Framework】深入研究Asp.net页面的生命周期
介绍 Asp.net是微软.Net战略的一个组成部分.它相对以前的Asp有了很大的发展,引入了许多的新机制.本文就Asp.net页面的生命周期向大家做一个初步的介绍,以期能起到指导大家更好.更灵活地操 ...
- ASP.NET页面生命周期与控件生命周期
ASP.NET页面生命周期 (1)PreInit 预初始化(2)Init 初始化(3)InitComplete 初始化完成(4)PreLoad 预加载(5)Load 加载(6)LoadComplete ...
- Asp.Net页面生命周期--转发(学海无涯)
一.什么是Asp.Net页面生命周期 当我们在浏览器地址栏中输入网址,回车查看页面时,这时会向服务器端(IIS)发送一个request请求,服务器就会判断发送过来的请求页面, 完全识别 HTTP 页 ...
随机推荐
- 解析一下rtmp协议比较难懂的地方
官方文档写的过于复杂,这里弄个简单的好入门的.chunk 分基础头,消息头,时间戳,数据部分基础头中第一个字节最高位的两个位是用来设置消息头的四种格式的,和基础头没关系,整个基础头有3个字段的长度存储 ...
- Linux makefile 教程 非常详细,且易懂(转)
转自:http://blog.chinaunix.net/uid-27717694-id-3696246.html 原文地址:Linux makefile 教程 非常详细,且易懂 作者:Deem_pa ...
- WebService传递XML数据 C#DataSet操作XML 解析WebService返回的XML数据
Webservice传递的数据只能是序列化的数据,典型的就是xml数据. /// <summary> /// 通过用户名和密码 返回下行数据 /// & ...
- Python新手学习基础之数据结构-对数据结构的认知
什么是数据结构? 数据结构是指:相互之间存在着一种或多种关系的数据元素的集合和该集合中数据元素之间的关系组成. 举个列子来理解这个数据结构: 数据可以比作是书本, 数据结构相当于书架,书存放在书架上, ...
- 钟表维修管理系统技术解析(一) MVC架构搭建
钟表维修管理系统技术解析(一) MVC架构搭建 1.1新建项目 第一步:打开VS2010界面,点击左上角文件,点击新建,选择项目 1.1(图1) 第二步:点击网站Web类型,选择ASP.net MV ...
- javasript生成 uuid的几种算法分享
方式一 function uuid() { var s = []; var hexDigits = "0123456789abcdef"; for (var i = 0; i &l ...
- 符合altium designer操作习惯的cadence快捷键设置
本人开始学习画PCB的时候,用的都是protel,后来转投altium desinger,因为这两个软件上手快且大学里教的也就是这两种.但由于工作需要换成cadence,这就给我造成了很大的困扰,尤其 ...
- N个元素的集合划分成互斥的两个子集的数目
前面这是寒假听马士兵老师讲的时候积累的语录.......... 1.php是水果刀,java是菜刀,刀法比较多,一年的和三年的区别很大. 2.nanicat连接mysql出现10061是服务没开启,却 ...
- 【Oracle】ORACLE SQL Developer不支持JAVA版本
ORACLE SQL Developer不支持JAVA版本 今天我打开 ORACLE SQL Developer准备开始练手.没有想到却给出了错误提示. 我 是安装了java JDK的而且是1.6版本 ...
- plugin
http://wicky.nillia.ms/headroom.js/ http://makotot.github.io/sidebar/ http://www.nodebeginner.org/in ...