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 页 ...
随机推荐
- App Store自动下载WiFi与蜂窝数据切换机制
写下这个给自己备忘,上次也有一次载了个跟头. 在iOS 7和8里面,除了设置--App Store里面自动更新,自动下载,以及使用蜂窝数据要关之外,别以为用了WiFi挂着程序,就万无一失了. 这种情况 ...
- 11_RHEL安装Maya2015
1. 解压 tar -xvf ./Autodesk_Maya_English_2015_Linux_64bit.tgz 2. 运行 ./setup 2.1补充 如果提示缺少 libpng12.so.0 ...
- traceroute命令
traceroute指令让你追踪网络数据包的路由途径,预设数据包大小是40Bytes,用户可另行设置. 通过traceroute我们可以知道信息从你的计算机到互联网另一端的主机是走的什么路径.当然每次 ...
- Solr4.8.0源码分析(5)之查询流程分析总述
Solr4.8.0源码分析(5)之查询流程分析总述 前面已经写到,solr查询是通过http发送命令,solr servlet接受并进行处理.所以solr的查询流程从SolrDispatchsFilt ...
- android host
74.125.20.31 market.android.com 74.125.20.31 developer.android.com 74.125.20.31 android.googlesource ...
- mysql INNODB_TRX 事务表
demo:/root# mysql -uroot -pkjk7787czcb --socket=/data01/mysql/mysql.sock -e"show processlist&qu ...
- COJ 2024 仙境传奇(五)——一个天才的觉醒 素数筛
整理模板,同时测了一下memset,for,fill到底谁快... 结果:memset最快,其次是for,fill最慢QAQ.... #include<iostream> #include ...
- POJ Stockbroker Grapevine 1125 多源最短路(Floyd)
题目大意: 股票经纪人要散播股票的谣言,每个人都有人际关系,每个人只信任他相信的人传播的谣言, 其实也就是有向图.问 哪个人能最快的将谣言传播给所有人,并且求出传过去的最短时间. 题目分析: 我们用F ...
- vim插件
所需即所获:像 IDE 一样使用 vim https://github.com/yangyangwithgnu/use_vim_as_ide mark.vim http://www.vim.org/s ...
- 【转】silverlight 跨域访问
作者:MIDI 来源:博客园 发布时间:2010-01-01 17:39 阅读:204 次 原文链接 [收藏] 在 Silverlight 使用 WebService .WCF.We ...