在ASP.NET 2.0中,一个ASP.NET页面的生命周期

转载 2007年09月26日 10:53:00

客户端请求页面
1、预初始化(OnPreInit)
2、初始化(OnInit)
3、完成初始化(OnInitComplete)
4、载入ViewState(LoadViewState)
5、处理回送数据(IPostBackDataHandler)
6、Page_OnPreLoad—》Page_OnLoad
7、回发更改通知(RaisePostDataChangedEvent)
8、处理回发事件(RaisePostBackEvent)
9、Page_OnLoadComplete
10、预呈现(OnPreRender)
11、完成预呈现(OnPreRenderComplete)
12、保存ControlState(SaveControlState)
13、保存ViewState(SaveViewState)
14、呈现(Render)
15、Page_UnLoad 

OnPreInit:在初始化页面OnInit事件前触发。在这个阶段里,可以进行定义站点主题(Theme)或加载站点个性化所需要的数据信息等操作。
OnInitComplete:完成初始化页面OnInit事件后触发。
OnPreLoad:在加载页面OnLoad事件前触发。
OnLoadComplete:完成页面加载OnLoad事件后触发。
OnPreRenderComplete:在完成预呈现OnPreRender事件后触发。这是完成页面呈现的最后一道关卡,在此之后,页面将无法再进行任何呈现上的改动。
SaveControlState:保存控件状态ControlState。ControlState是ASP.NET2.0控件新增的一个属性,类似ViewState作用,但它们区别在于ControlState用于保存更加重要的控件状态信息,以保证在禁用ViewState的情况下还可以对控件状态进行读写操作。
增加对页面Header的控制:
System.Web.UI.Page类新增加了Header属性,用于对HTML页面头区域里数据的操作。通过对Header属性的跟踪,可以发现,Header属性保存着一个实现IPageHeader接口的对象(该对象有LinkedStyleSheets、Metadata、StyleSheet和Title四个属性),实际上正是通过这个对象实现对HTML页面头区域里数据的操作的。
例如:

<script runat="server"> 
void Page_Load(object sender, System.EventArgs e) 

this.Header.Metadata.Add("author""brooks"); 

</script> 
其运行结果为:
<html> 
<head> <title>Untitled Page</title> 
<meta name="author" content="brooks" /> 
</head>
定义表单中的默认按钮:
在ASP.NET1.0中,我就为了设置表单中的默认按钮而一筹莫展。幸好ASP.NET2.0把这个功能补上了,现在可以非常方便的设置表单中的默认按钮了。
<%@ page language="C#" %> 
<script runat="server"> 
void Button1_Click(object sender, System.EventArgs e) 

this.LB_Message.Text = "You clicked button1"

</script> 
<html> 
<head runat="server"> 
<title>Untitled Page</title> 
</head> 
<body> 
<form runat="server" defaultbutton="Button1"> 
<asp:textbox id="Textbox1" runat="server"></asp:textbox> 
<asp:button id="Button1" runat="server" text="Button" onclick="Button1_Click" /> 
<asp:label id="LB_Message" runat="server"></asp:label> 
</form> 
</body> 
</html> 
设置焦点:
现在假设为TextBox1控件设置焦点,在ASP.NET 2.0中可以这样实现:
this.Textbox1.Focus(); 或 this.SetFocus(this.Textbox1); 即可为TextBox1控件设置焦点。
如果打算也为表单设置个默认焦点控件,让光标默认停留在TextBox1上:
<form runat="server" defaultfocus="TextBox1">
跨页面数据发送:
如果你需要多个页面发送数据到同一个表单程序进行处理,或者数据在多个页面之间传输处理的话,你就可以使用ASP.NET 2.0这个新特性。例如,我打算把Default.aspx页里TextBox1里的文本数据发送到Default2.aspx页面进行处理:
Default.aspx页:
<%@ Page Language="C#" %> 
<script runat="server"> 
void Page_Load(object sender, System.EventArgs e) 

TextBox textBox1 
= (TextBox)PreviousPage.FindControl("TextBox1"); 
this.Label1.Text = "Hi," + textBox1.Text + ". This is Default2.aspx!"

</script> 
<html xmlns="http://www.w3.org/1999/xhtml" > 
<head runat="server"> 
<title>Untitled Page</title> 
</head> 
<body> 
<form id="form1" runat="server"> 
<asp:label id="Label1" runat="server"></asp:label> 
</form> 
</body> 
</html>

Asp.net页面生存周期

# 事件或方法 功能 描述    1 Init 事件 页面初始化 初始化设置。    2 LoadViewState 方法 加载视图状态 填充ViewState属性。    3 LoadPost...
  • smartsmile2012
  • smartsmile2012
  • 2016年06月06日 18:51
  • 961

在ASP.NET 2.0中,一个ASP.NET页面的生命周期

在ASP.NET 2.0中,一个ASP.NET页面的生命周期主要为: 客户端请求页面 预初始化(OnPreInit) 初始化(OnInit) 完成初始化(OnInitCo...
  • xychen2008
  • xychen2008
  • 2007年05月09日 13:27
  • 569

Asp.Net底层解析(三)——ASPX页面的生命周期详解

前言:个人认为,对于页面生命周期的理解是开发人员在ASP.NET领域做好做深的前提。当然,因为微软已经将ASP.NET封装得很简单了,所以对于只有基本html&javascript的初学者来说也很容易...
  • mlcactus
  • mlcactus
  • 2013年02月01日 23:21
  • 2577

ASP.NET最常用的页面生命周期事件

PreInit:在页生命周期的早期阶段可以访问的事件。在PreInit事件后,将加载个性化信息和页主题。 Init:在所有的控件都已初始化,且已应用所有外观设置后引发。使用该事件来读取或初始化控...
  • ahao214
  • ahao214
  • 2016年09月01日 21:16
  • 331

ASP.NET一个页面的生命周期

(1)对象初始化   页面自身以及页面中的控件,都是From中被首次初始化的,初始化事件可以通过 OnInit()方法重载。通过在ASPX页面的后台代码文件的构造器中声明对象,页面将知道 对象的...
  • u011773612
  • u011773612
  • 2013年11月04日 23:44
  • 329

asp.net web 页面生命周期

每次客户端请求都会创建页面实例,它的执行使自身及其包含的控件经历页面生命周期的各个阶段。页面的执行起始于HTTP运行库调用ProcessRequest时,该方法将启动页面并控制它的生命周期。生命周期由...
  • lqh4188
  • lqh4188
  • 2013年01月23日 15:06
  • 2088

Asp.net页面的生命周期

介绍 Asp.net是微软.Net战略的一个组成部分。它相对以前的Asp有了很大的...
  • jelink
  • jelink
  • 2006年09月23日 22:40
  • 647

ASP.Net页面的生命周期

阶段 说明 页请求 页请求发生在页生命周期开始之前。用户请求页时,ASP.NET 将确定是否需要分析和编译页(从而开始页的生命周期),或者是否可以在不...
  • wujiaolong1
  • wujiaolong1
  • 2013年02月22日 16:50
  • 142

ASP.NET页面的生命周期

在ASP.NET 2.0中,一个ASP.NET页面的生命周期主要为:客户端请求页面预初始化(OnPreInit)初始化(OnInit)完成初始化(OnInitComplete)载入ViewState(...
  • fanhgye
  • fanhgye
  • 2008年04月07日 16:46
  • 300

asp.net页面的生命周期

asp.net页面运行的时候将经历一个生命周期,这个生命周期中会进行一系列的操作,调用一系列的方法。了解asp.net页面的生命周期对于精确控制页面的控件呈现方式和行为非常重要。  一般说来一个常规页...
  • milk1626
  • milk1626
  • 2010年08月12日 16:38
  • 191
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:在ASP.NET 2.0中,一个ASP.NET页面的生命周期
举报原因:
原因补充:

(最多只允许输入30个字)