ASP.NET控件的执行生命周期


阶段

控件需要执行的操作
要重写的方法或事件
初始化 初始化在传入 Web 请求生命周期内所需的设置。 Init 事件(OnInit 方法)
加载视图状态 在此阶段结束时,就会自动填充控件的 ViewState 属性,控件可以重写LoadViewState 方法的默认实现,以自定义状态还原。 LoadViewState 方法
处理回发数据 处理传入窗体数据,并相应地更新属性。
注意:只有处理回发数据的控件参与此阶段。
LoadPostData 方法(如果已实现IPostBackDataHandler)
加载 执行所有请求共有的操作,如设置数据库查询。此时,树中的服务器控件已创建并初始化、状态已还原并且窗体控件反映了客户端的数据。 Load 事件(OnLoad 方法)
发送回发更改通知 引发更改事件以响应当前和以前回发之间的状态更改。
注意:只有引发回发更改事件的控件参与此阶段。 
RaisePostDataChangedEvent方法(如果已实现IPostBackDataHandler)
处理回发事件 处理引起回发的客户端事件,并在服务器上引发相应的事件。 
注意:只有处理回发事件的控件参与此阶段。
RaisePostBackEvent 方法(如果已实现IPostBackEventHandler)
预呈现 在呈现输出之前执行任何更新。可以保存在预呈现阶段对控件状态所做的更改,而在呈现阶段所对的更改则会丢失。 PreRender 事件(OnPreRender方法)
保存状态 在此阶段后,自动将控件的ViewState 属性保持到字符串对象中。此字符串对象被发送到客户端并作为隐藏变量发送回来。为了提高效率,控件可以重写SaveViewState 方法以修改ViewState 属性。 SaveViewState 方法
呈现 生成呈现给客户端的输出。 Render 方法
处置 执行销毁控件前的所有最终清理操作。在此阶段必须释放对昂贵资源的引用,如数据库链接。 Dispose 方法
卸载 执行销毁控件前的所有最终清理操作。控件作者通常在 Dispose 中执行清除,而不处理此事件。  UnLoad 事件(On UnLoad 方法)
时间: 2024-11-17 08:50:47

ASP.NET控件的执行生命周期的相关文章

一起谈.NET技术,asp.net控件开发基础(19)

上两篇讨论了基本数据绑定控件的实现步骤,基本上我们按着步骤来就可以做出简单的数据绑定控件了.过年前在看DataGrid的实现,本来想写这个的,但2.0出了GridView了,再说表格控件实现比较复杂,所以先放着.我们一起打开MSDN来看点别的,当然主题还是离不开数据绑定控件. 一.数据绑定控件的模板 打开MSDN一看,我们会发现DataList和DataGrid都不是直接继承自WebControl类的,而是继承自一个叫BaseDataList的类.唯独Repeater是直接继承自WebContr

控件执行生命周期(From MSDN)

控件|执行 每次请求 ASP.NET 页时,服务器就会加载一个 ASP.NET 页,并在请求完成时卸载该页.页及其包含的服务器控件负责执行请求并将 HTML 呈现给客户端.虽然客户端和服务器之间的通信是无状态的和断续的,但是必须使客户感觉到这是一个连续执行的过程. 这种连续性假象是由 ASP.NET 页框架.页及其控件实现的.回发后,控件的行为必须看起来是从上次 Web 请求结束的地方开始的.虽然 ASP.NET 页框架可使执行状态管理相对容易一些,但是为了获得连续性效果,控件开发人员必须知道控

ASP.NET控件生命周期

ASP.NET控件的生命周期一共经历11个过程,我们可以重写它们各自的方法.如下,按次序:1)OnInit (初始化)     方法原型:     protected override void OnInit(EventArgs e)     2)LoadViewState (装载视图)      方法原型:      protected override void LoadViewState(object savedState) 3)LoadPostData (回传数据处理)      - 控

ASP.NET 2.0 页(Page)生命周期概述

原文:ASP.NET 2.0 页(Page)生命周期概述 引用MSDNASP.NET 页生命周期概述 ASP.NET 页运行时,此页将经历一个生命周期,在生命周期中将执行一系列处理步骤.这些步骤包括初始化.实例化控件.还原和维护状态.运行事件处理程序代码以及进行 呈现.了解页生命周期非常重要,因为这样做您就能在生命周期的合适阶段编写代码,以达到预期效果.此外,如果您要开发自定义控件,就必须熟悉页生命周期, 以便正确进行控件初始化,使用视图状态数据填充控件属性以及运行任何控件行为代码.(控件的生命

asp.net MVC 应用程序的生命周期

下面这篇文章总结了 asp.net MVC 框架程序的生命周期.觉得写得不错,故转载一下. 转载自:http://www.cnblogs.com/yplong/p/5582576.html       首先我们知道http是一种无状态的请求,他的生命周期就是从客户端浏览器发出请求开始,到得到响应结束.那么MVC应用程序从发出请求到获得响应,都做了些什么呢?       本文我们会详细讨论MVC应用程序一个请求的生命周期,从一个控件到另一个控件是怎样被处理的.我们还会详细介绍一下整个请求的生命周期

一起谈.NET技术,asp.net控件开发基础(13)

1.减轻服务器压力,增加用户体验 服务器功能是强大的,客户端脚本一点也不弱,现在的ajax技术和Atlas技术就是最好的证明,我们总是期待UI有一个好的效果,flash动画给我们带来了很酷的效果,我们至少也可以为我们的服务器控件添加客户端脚本,一方面减少了服务器端的回传,一方面又能为控件提供非常酷的效果.我想我们都很喜欢ATLAS里面很多很酷的控件吧,而且无刷新,服务器控件与客户端脚本交互使用,那会服务器控件变的更加完美. 经过上面的废话,下面我们进入正题 2.简单为服务器控件添加客户端脚本 我

ASP.net控件开发系列之二

"生死有序" "装装孙子" 上篇文章<开篇>说了不少空洞的理论,这篇文章我还是先说说"大而化之"的东西:1.ASP.net控件(包括页面本身)的生命期的细节:2.如何开始一个控件的编写. "生死有序" ASP.net处理程序在接收到一个用户的页面请求后,它是如何变戏法把一个鲜活的页面呈现给客户端的呢?它都做了哪些事?按什么顺序做的? 要说明这个问题,我们首先要明白,一个页面它本身也是一个Control.从设计模式的

一起谈.NET技术,asp.net控件开发基础(21)

上篇介绍了在asp.net2.0版本下面如何简单的定义数据绑定控件.虽然DataBoundControl为我们提供了便利,我们以后可以从此类开始编写数据绑定控件.但是在2.0版本未到来之前,你已经为自己订制了一些数据绑定控件,既然2.0版本已经提供了数据源控件,你是否有想法,让你原有的控件也升级到同时支持通过设置DataSource属性和数据源控件来获取数据源,这样以后我们就可以省省工作了.这次我们就来讨论这个话题,让旧版本的数据绑定控件支持数据源控件. 一.准备升级数据绑定控件 即使asp.n

使用ASP.NET控件进行程序设计

asp.net|程序|控件|设计        ASP.NET 控件时ASP.NET架构的基本组成部分.从本质上讲,ASP.NET是.NET    Framework中的类,可以在ASP.NET页面上映射控件声明.然后,那些类根据他们的   属性,为控件创建HTML.由于类的对象是在运行时间与页面一起被编译的,因此开   发人员可以按照面向对象的方式访问那些对象,例如读取和更改他们的属性.调用他   们的方法和处理服务器端的事件等.在传统ASP程序设计中,服务端的VBScript代码   和HT