ASP.NET页生命周期的定义,有以下8个方面:页请求,开始,页初始化,页加载,验证,回发事件,呈现,卸载。

ASP.NET 页运行时,此页将经历一个生命周期,在生命周期中将执行一系列处理步骤。这些步骤包括初始化、实例化控件、还原和维护状态、运行事件处理程序代码以及进行呈现。了解页的生命周期非常重要,这样就能在合适的生命周期阶段编写代码,以达到预期效果。此外,如果开发自定义控件,则必须熟悉页生命周期,从而正确地初始化控件,使用视图状态数据填充控件属性以及运行所有控件行为逻辑。

ASP.NET编程模型之页面生命周期执行一系列步骤:页面的初始化、实例化控件、还原和维护状态、运行事件处理程序代码、呈现。为了在合适的阶段执行所需的代码,所以要对页面生命周期非常熟悉。在页生命周期的各个阶段,页面会逐个引发定义的事件,通过对代码开发,在页面的生命事件中执行我们所需要的程序
页生命周期阶段

1、页请求:发生在页面生命周期之前,用户请求页时,ASP.NET将确定是否需要分析和编译页,从而确定是否开始页面的生命周期,或者是否可以在不运行页的情况下发送页面缓存以进行响应。

2、开始:设置页属性,如:HttpContext以及其他属性;在此阶段,页面需要确定是回发请求还是新请求,并设置IsPostBack属性;设置页面的UICulture属性。

3、页面初始化:加载所有主题;控件生成,并设置UniqueID;

注:ViewState、ControlState中的值还未加载至控件;如果页面是回发,则回发数据也还未加载;故此时控件可以访问,但值可能出错。

4、加载:如果当前请求是回发请求,则为控件加载ViewState和ControlState中的值。

5、验证:调用所有验证程序控件的Validate方法,此方法将设置验证程序控件和页的IsValid属性。

6、回发事件处理:如果请求是回发请求,则调用所有事件处理程序。

7、呈现:首先对该页和所有控件进行保存视图状态,然后对每个控件调用Render方法,它会提供一个文本编写器,用于将控件的输入写入页的Response属性的OutputStream中。

8、卸载:完成呈现,并已将页发送至客户端、准备丢弃该页后,调用卸载。将卸载属性如:Response和Request等等。

下面是ASP.NET编程模型中ASP.NET页面生命周期示图

转载于:https://www.cnblogs.com/minideas/archive/2010/01/11/1643891.html

ASP.NET页生命周期概述相关推荐

  1. .NET与java的MVC模式(3):ASP.NET 页生命周期概述

    ASP.NET 页生命周期概述 来源:MSDN ASP.NET 页运行时,此页将经历一个生命周期,在生命周期中将执行一系列处理步骤.这些步骤包括初始化.实例化控件.还原和维护状态.运行事件处理程序代码 ...

  2. .NET ASP.NET 页生命周期概述

    ASP.NET 页生命周期概述 ASP.NET 页运行时,此页将经历一个生命周期,在生命周期中将执行一系列处理步骤. 这些步骤包括初始化.实例化控件.还原和维护状态.运行事件处理程序代码以及进行呈现. ...

  3. ASP.NET 页生命周期概述

    ASP.NET 页运行时,此页将经历一个生命周期,在生命周期中将执行一系列处理步骤.这些步骤包括初始化.实例化控件.还原和维护状态.运行事件处理程序代码以及进行呈现.了解页生命周期非常重要,因为这样做 ...

  4. 学习笔记--asp.net页生命周期(转自msdn,仅为自己学习存储和有意读者使用)

    ASP.NET 页生命周期概述 .NET Framework 4 其他版本 28(共 30)对本文的评价是有帮助 - 评价此主题 更新:2011 年 5 月 ASP.NET 页运行时,此页将经历一个生 ...

  5. ASP.NET页生命周期介绍:阶段,事件及其他

    ASP.NET页生命周期介绍:阶段,事件及其他 本文概述了asp.net的页生命周期.在页生命周期的每个阶段中,页将引发可运行您自己的代码进行处理的事件. asp.net 页运行时,此页将经历一个生命 ...

  6. ASP.NET页面生命周期概述(转载)

    ASP.NET 页运行时,此页将经历一个生命周期,在生命周期中将执行一系列处理步骤.这些步骤包括初始化.实例化控件.还原和维护状态.运行事件处理程序代码以及进行呈现.了解页的生命周期非常重要,这样就能 ...

  7. ASP.NET页面生命周期概述

    近期学习asp.net自定义控件与组件,所以把msdn原文贴出来,以供参考. 原文链接:http://msdn.microsoft.com/zh-cn/library/ms178472(VS.80). ...

  8. 温故而知新:HttpApplication,HttpModule,HttpContext及Asp.Net页生命周期

    IIS在接到一个新的http请求后,最终会调用asp.net_isapi.dll的ISAPI扩展(特指IIS6.0环境,iis7.0的应用程序池默认为集成方式,相对有所变化),然后传递到httpRun ...

  9. 老生又长谈:HttpApplication,HttpModule,HttpContext及Asp.Net页生命周期

    IIS在接到一个新的http请求后,最终会调用asp.net_isapi.dll的ISAPI扩展(特指IIS6.0环境,iis7.0的应用程序池默认为集成方式,相对有所变化),然后传递到httpRun ...

最新文章

  1. 机器学习实战 Tricks
  2. [leetcode]Two Sum @ Python
  3. 抖音品质建设 - iOS启动优化《原理篇》
  4. 十大常用算法之马踏棋盘算法
  5. 云熙板式家具设计拆单
  6. 服务器声卡硬件安装,虚拟声卡,详细教您怎么安装虚拟声卡
  7. 【期货交易】期货持仓量浅析,持仓是什么?
  8. PCF8591 +MQ3 +LCD1602+89C51RC(酒精传感器)
  9. linux运行ardupilot,ardupilot在Linux上的启动过程
  10. iOS 自建应用内测分发平台
  11. 录屏软件OBS录屏时噪声大的解决办法
  12. PAT.A1010 Radix
  13. 单片机只会调库和复制别人的代码是什么水平?
  14. 前端逻辑练习题+学习记录 不定期更新
  15. 当摸鱼的老油条遇上了内卷的小年轻...愿世间没有内卷....
  16. 诺基亚英雄迟暮:抗拒Android或难挽颓势
  17. 720度全景拍摄曝光问题如何解决
  18. 开源飞控初探(六):地面站和SDK
  19. 系统软件工程师面试题
  20. 2008年首都机场大巴路线时刻表

热门文章

  1. html滑块数值怎么显示,显示HTML5滑块值旁边的百分比
  2. android pjsip 2.5编译,在Android中构建PJSiP时出错
  3. c语言个人通讯录管理系统实验报告_C语言实现个人通讯录管理系统
  4. python中的随机函数怎么用_Python中随机数的使用方法有那些?
  5. matlab两个多项式相除,C++和MATLAB混合编程求解多项式系数(矩阵相除)
  6. android window 大小,android popupWindow 中宽度莫名很大,求帮助?
  7. LabVIEW生成应用程序(exe)和安装程序(installer)
  8. 深度学习(7)卷积神经网络
  9. OpenCV(十五)边缘检测1 -- Sobel算子(一阶微分算子,X、Y方向边缘检测)
  10. python3socket非阻塞_利用Python中SocketServer 实现客户端与服务器间非阻塞通信