`

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

阅读更多

客户端请求页面
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 2.0入门经典:C#编程篇.pdf

    ASP.NET 2.0是微软开发的一个用于构建Web应用程序的框架,它建立在.NET Framework之上,为开发者提供了更高效、更灵活的Web开发环境。本书《ASP.NET 2.0入门经典:C#编程篇》显然是针对初学者设计的,旨在帮助读者...

    asp.net 2.0动态网站开发教程

    母版页(Master Pages)是ASP.NET 2.0中的一个重要特性,它允许开发者创建一个统一的页面布局,然后所有子页面都可以继承这个布局,从而保持整个网站的视觉一致性。同时,主题(Themes)允许开发者定义样式和外观,...

    ASP.net 2.0网络编程从入门到精通-修订.rar

    ASP.NET 2.0是微软开发的一个用于构建Web应用程序的框架,它建立在.NET Framework的基础之上,为开发者提供了丰富的功能和高效的语言支持。本资源"ASP.NET 2.0网络编程从入门到精通-修订"显然是一个教程文档,旨在...

    ASP.NET 2.0程序设计案例教程(课件)

    ASP.NET 2.0是微软开发的一个用于构建Web应用程序的框架,它是在.NET Framework 2.0版本上运行的。这个“ASP.NET 2.0程序设计案例教程”旨在为学习者提供深入理解和实践ASP.NET技术的机会。通过课件的形式,我们可以...

    天轰穿ASP.NET2.0视频教程代码(共两部份)

    此"天轰穿ASP.NET2.0视频教程"针对初学者和进阶开发者,通过详细的教学指导,帮助用户掌握ASP.NET 2.0的核心概念和技术。 1. **ASP.NET 2.0架构** ASP.NET 2.0基于.NET Framework 2.0,引入了统一的页面生命周期...

    Programming Microsoft ASP.NET 2.0 Applications - Advanced Topics

    ASP.NET 2.0在1.0的基础上进行了许多改进,包括更高效的页面生命周期管理、内置的状态管理机制和更强大的控件库。 2. **控件与数据绑定**:书中会详细介绍ASP.NET 2.0的各种服务器控件,如GridView、DetailsView、...

    Wrox Asp.Net 2.0 Instant Results(asp.net2.0经典案例教程)

    在ASP.NET 2.0中,微软引入了一系列增强功能,如控件生命周期的改进、数据绑定模型的扩展、母版页(Master Pages)和站点导航等,极大地提高了开发效率和代码复用性。书中将深入探讨这些关键特性,并通过实际项目来...

    ASP.NET2.0实用教程(C#版)书中例子.rar

    这个“ASP.NET2.0实用教程(C#版)书中例子”PPT很可能会涵盖以上这些主题,并通过实例演示如何在实践中应用这些技术。PPT中的例子可能包括创建简单的Web表单、使用控件进行数据绑定、实现用户身份验证以及利用AJAX...

    ASP.NET第一步(基于C#和ASP.NET 2.0).rar

    对于初学者来说,"ASP.NET第一步(基于C#和ASP.NET 2.0)"是一个理想的入门资源,因为它涵盖了C#编程语言和ASP.NET 2.0的核心概念。 C#是微软开发的一种面向对象的编程语言,常用于.NET平台。在ASP.NET 2.0中,C#...

    asp.net 2.0 宝典

    在ASP.NET 2.0中,每个Web页面都经历一系列的生命周期阶段,包括初始化、加载、回发和卸载等。理解这些阶段对于编写高效的页面代码至关重要,同时,事件处理机制允许开发者响应用户交互,如按钮点击或表单提交。 `...

    asp.net2.0全站源码

    "济南招贴网(.net2.0)"这个文件可能是一个使用ASP.NET 2.0开发的网站源代码,包含了构建类似分类广告网站所需的所有文件和设置。源码分析可以帮助我们理解如何在实际项目中应用上述ASP.NET 2.0特性,学习网站架构...

    ASP.NET2.0+sql server 网络应用开发详解

    在ASP.NET 2.0版本中,引入了许多新特性,如改进的页面生命周期管理、母版页(Master Pages)用于统一网站布局、自定义控件增强用户体验、配置管理工具简化部署过程、以及ASP.NET AJAX框架实现页面无刷新交互等。...

    ASP.NET 2.0入门经典(第4版)源码

    2. **页面生命周期**:了解ASP.NET页面从请求到响应的完整生命周期至关重要。这个过程包括初始化、加载、验证、呈现和卸载等阶段,开发者需要知道何时添加和修改控件属性,以及何时保存状态信息。 3. **数据绑定**...

    ASP.NET 2.0网络编程自学手册

    首先,本书会讲解ASP.NET 2.0的基础概念,包括.NET Framework 2.0的结构、ASP.NET页面生命周期以及Web应用程序的结构。通过这些基础,读者可以理解ASP.NET如何处理HTTP请求,并了解如何创建和管理网页。 控件技术是...

    ASP.NET 2.0功能源码

    ASP.NET 2.0是微软开发的一个Web应用程序框架,它基于.NET Framework,为开发者提供了构建动态网站、Web应用和Web服务的强大工具。这个"ASP.NET 2.0功能源码"压缩包文件很可能是为了帮助学习者理解并探索ASP.NET 2.0...

    asp.net2.0技术内幕 源码

    1. **页面生命周期**:在ASP.NET 2.0中,每个Web页面都有一个特定的生命周期,包括初始化、加载、验证、呈现和卸载等阶段。通过分析源码,我们可以看到各个事件的触发顺序以及如何在这些阶段中进行自定义处理。 2. ...

    ASP.NET 2.0动态网站开发教程(最新)

    4. **母版页(Master Pages)**:母版页是ASP.NET 2.0的一个重要特性,它允许开发者创建统一的布局模板,所有子页面都可以继承其样式和结构,提高了网站的统一性和可维护性。 5. **数据绑定**:ASP.NET 2.0提供了...

    asp.net2.0教程

    4. 页面生命周期:ASP.NET 2.0的页面生命周期包括初始化、加载、验证、呈现和卸载阶段,方便开发者控制每个阶段的行为。 5. 状态管理:除了视图状态,还引入了控制状态(Control State)和临时数据(TempData)等,...

    asp.net 2.0快速入门教程

    母版页是ASP.NET 2.0中的一个关键特性,它允许开发者创建统一的布局模板,所有子页面都可以继承这个模板,提高了页面的可维护性和一致性。同时,ASP.NET 2.0还支持自定义主题,用于统一网站的外观和感觉。 5. **...

    精通ASP.NET2.0+SQL Server 2005项目开发 源码.rar

    《精通ASP.NET 2.0 + SQL Server 2005项目开发》是一部深度解析Web应用程序构建的教程,尤其关注ASP.NET 2.0框架与SQL Server 2005数据库系统的结合应用。该资源包含9个精心设计的案例,旨在帮助开发者逐步提升在...

Global site tag (gtag.js) - Google Analytics