.net页面生命周期

.net页面生命周期

(1)Page_Init();---初始化对象

这一过程主要是初始化包括页面本身的所有控件,每次的页面载入就会执行一次初试过程,而在这里面访问到的也是控件的初始值。还有就是可以通过OnInit()来重载初试化事件

(2) LoadViewState---导入Viewstate数据

在初试化事件后,在loadvireState事件中所有控件将获得他们的第一个属性ViewState属性,这个属性最终将被返回给服务器以判断这个页面是已经被用户访问完毕还是仍然在被

用户所访问。也可重载loadvireState事件对相应的控件进行值设定。

(3) Load Postback data;---用LoadPostData处理Postback数据

Postback数据也可以理解成就是服务器页面提交的表单数据,每一次表单数据的提交都会触发执行IPostBackDataHandler接口操作的控件。

(4) Page_Load();---导入对象

这个过程就比较熟悉了,也是在页面的每次载入时一定会执行,但是注意和PageInit()之间的区别,所有的对象第一次被布置在DOM页面(在Asp.net中称控件树)里了并且可以通过代码或是相关的位置被引用。这样,对象就可以很容易的从客户端获得诸如宽度、高度、值、可见性等在Html中的属性值。经常会用到的Page.IsPostBack()指示该页是否正为响应客户端回发而加载,或者它是否正被首次加载和访问.

(5) Handle control events;---具体的控件事件

这个过程执行的是相应具体控件事件,比如按钮事件..等。

(6) Page_PreRender();---预先呈递对象

预先呈递对象可以改变对象并将改变保存的最后时刻.可以对控件的属性、控件树的结构等做出最后的修改,同时还不用考虑Asp.net对其作出任何改变,因为此时已经脱离了数据库调用以及viewstate更新了,也可以通过OnPreRender来重载。

(7) Page_Render();---呈递对象呈递页面

所有对页面控件的修改完成后viewstate就被保存了。运用Html创建给浏览器输出的页面的时候Render事件就发生了。在Render事件过程中,页面调用其中的对象将它们呈递给Html。然后,页面就可以以Html的形式被用户的浏览器访问了。当Render事件被重载时,开发者可以编写自定义的Html代码使得原先生成的Html都无效而按照新的Html来组织页面。

Render方法将一个HtmlTextWriter对象作为参数并用它将Html在浏览器上以网页的形式显示。这时仍然可以做一些修改动作,不过它们只是客户端的一些变化而已了。亦可以重载Render事件。

(8) Unload event;---卸载对象

当想服务器请求一个对象的时候,就会在内存里生成一个继承页面对象,也就是页面的类,它继承自System.Web.UI.Page.当页面对象从内存中卸载时发生,将触发该事件.

(9) Dispose method called

在呈递给Html完成后,所有的对象都应被销毁。在Dispose事件中,你应该销毁所有在建立这个页面时创建的对象。这时,所有的处理已经完毕,所以销毁任何剩下的对象都是不会产生错误的,包括页面对象。你可以重载Dispose事件。

时间: 2024-11-15 09:28:32

.net页面生命周期的相关文章

IIS处理asp.net请求和asp.net的页面生命周期

当一个客户端页面访问IIS试图获取一些信息的时候,发生了什么事情?一个请求在通过了HTTP管道后又发生了什么?本文主要是描述这两个过程,即IIS处理asp.net请求和asp.net的页面生命周期.欢迎大家积极拍砖,共同学习,共同进步. 首先我们要弄清楚两个非常重要的概念: 1, worker process(w3wp.exe). worker process管理所有的来自客户端的请求并给出响应.它是IIS下asp.net应用程序的核心. 2, application pool. 它是worke

IIS处理Asp.net请求和Asp.net页面生命周期说明

首先我们要弄清楚两个非常重要的概念: 1, worker process(w3wp.exe). worker process管理所有的来自客户端的请求并给出响应.它是IIS下asp.net应用程序的核心. 2, application pool. 它是worker process的容器,IIS5及之前的IIS版本均没有application pool的概念.每一个application pool对应着一个worker process,在IIS Metabase中维护着Application Po

关于ASP.NET页面生命周期的整体把握

对于每一个.NET程序员,对于ASP.NET页面生命周期都有一定的了解和把握.关于一些细节方面请参考 http://blog.sina.com.cn/s/blog_5f7aa2970100d5h4.html,内容比较详尽,本文将不再概述.本文主要是从 继承以及视图状态,事件,委托,容器控件以及子控件这些方面来把握和控制整体的页面生命周期. 先看下下面4个相关页面的代码(为降低复杂度,很多代码被删减与精简,仅提供最基本的操作代码).仅仅 几个文件,先看下整体文件的布局,有一个整体的把握.    

记不住ASP.NET页面生命周期的苦恼

介绍 对于ASP.NET开发者,理解ASP.NET的页面生命周期是非常重要的.主要是为了搞明白在哪里放置特定 的方法和在何时设置各种页面属性.但是记忆和理解页面生命周期里提供的事件处理方法(method)非常困 难.互联网上有很多关于页面生命周期内部机制的文章,所以本文只准备简单覆盖技术的基础部分,更主 要的目的是给大家提供一个简单得记忆页面生命周期的方法. 准确的记忆ASP.NET页面生命周期每一个阶段发生了什么事情是比较困难的,一种便于记忆的方法是根 据各个阶段的名字组合出一个缩写.微软的文

Asp.net页面生命周期

前言  本篇记录的是Asp.net页面生命周期,也就是管道模型的最末端HttpHandler的生命周期.(Page继承了IHttpHandler接口.想了解管道模型,请参考asp.net管道模型(管线模型)之一发不可收拾).如有不足请大家指出^_^!!  本篇主要参考:ASP.NET编程模型之页面生命周期十一步详解  ASP.NET编程模型之ASP.NET页面生命周期图解 <亮剑.net 深入体验与实战精要> 正文 1.页面实例化之前:Asp.net工作进程会确定是否需要分析和编译页面从而开始

Asp.Net页面生命周期(多图)

原文 http://www.cnblogs.com/DotNetEnjoy/archive/2013/04/15/3022672.html asp.net的请求处理模型已经讲完几个星期了,但一直没有时间整理,一来是因为知识点确实繁杂,难以整理,二来了解得也不够清晰,存在一些误区.今天有空写下这篇博文,希望大家指正其中的不足,以便能加深对请求响应的理解. 根据自己理解和老师讲课的内容,花了一张图   1.浏览器实际上是一个Socket客户端,它向服务器发送请求报文 2.请求报文被封装为http请求

asp.net页面生命周期详解_实用技巧

Asp.net是微软.Net战略的一个组成部分.它相对以前的Asp有了很大的发展,引入了许多的新机制.本文就Asp.net页面的生命周期向大家做一个初步的介绍,以期能起到指导大家更好.更灵活地操纵Asp.net的作用.当一个获取网页的请求(可能是通过用户提交完成的,也可能是通过超链接完成的)被发送到Web服务器后,这个页面就会接着运行从创建到处理完成的一系列事件.在我们试图建立Asp.net页面的时候,这个执行周期是不必去考虑的,那样只会自讨苦吃.然而,如果被正确的操纵,一个页面的执行周期将是一

IIS处理Asp.net请求和Asp.net页面生命周期说明_实用技巧

首先我们要弄清楚两个非常重要的概念: 1, worker process(w3wp.exe). worker process管理所有的来自客户端的请求并给出响应.它是IIS下asp.net应用程序的核心. 2, application pool. 它是worker process的容器,IIS5及之前的IIS版本均没有application pool的概念.每一个application pool对应着一个worker process,在IIS Metabase中维护着Application Po

IIS处理Asp.net请求和Asp.net页面生命周期详细说明_实用技巧

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

详解ASP.NET页面生命周期事件_实用技巧

下面是ASP.NET页面初始的过程:1. Page_Init();2. Load ViewState;3. Load Postback data;4. Page_Load();5. Handle control events;6. Page_PreRender();7. Page_Render();8. Unload event;9. Dispose method called; 下面对其中的一些过程作下描述:1. Page_Init();这个过程主要是初始化控件,每次页面载入执行这个初始过程,