`
xiaoer_1982
  • 浏览: 1817143 次
  • 性别: Icon_minigender_2
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

ASP.NET 2.0页面框架的几处变化

阅读更多

转自MS.Tech

  1. 新增的页面事件
    在ASP.NET 2.0中,一个ASP.NET页面的生命周期主要为(红色字体表示ASP.NET 2.0新增加的阶段页面事件):客户端请求页面—》预初始化(OnPreInit)—》初始化(OnInit)—》完成初始化(OnInitComplete)—》载入ViewState(LoadViewState)—》处理回送数据(IPostBackDataHandler)—》Page_OnPreLoad—》Page_OnLoad—》回发更改通知(RaisePostDataChangedEvent)—》处理回发事件(RaisePostBackEvent)—》Page_OnLoadComplete—》预呈现(OnPreRender)—》完成预呈现(OnPreRenderComplete)—》保存ControlState(SaveControlState)—》保存ViewState(SaveViewState)—》呈现(Render)—》Page_UnLoad。
    • OnPreInit:在初始化页面OnInit事件前触发。在这个阶段里,可以进行定义站点主题(Theme)或加载站点个性化所需要的数据信息等操作。
    • OnInitComplete:完成初始化页面OnInit事件后触发。
    • OnPreLoad:在加载页面OnLoad事件前触发。
    • OnLoadComplete:完成页面加载OnLoad事件后触发。
    • OnPreRenderComplete:在完成预呈现OnPreRender事件后触发。这是完成页面呈现的最后一道关卡,在此之后,页面将无法再进行任何呈现上的改动。
    • SaveControlState:保存控件状态ControlState。ControlState是ASP.NET2.0控件新增的一个属性,类似ViewState作用,但它们区别在于ControlState用于保存更加重要的控件状态信息,以保证在禁用ViewState的情况下还可以对控件状态进行读写操作。
  2. 增加对页面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>
  3. 定义表单中的默认按钮:
    在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>
  4. 设置焦点
    现在假设为TextBox1控件设置焦点,在ASP.NET 2.0中可以这样实现:
    this.Textbox1.Focus(); this.SetFocus(this.Textbox1); 即可为TextBox1控件设置焦点。
    如果打算也为表单设置个默认焦点控件,让光标默认停留在TextBox1上:
    <form runat="server" defaultfocus="TextBox1">
  5. 跨页面数据发送
    如果你需要多个页面发送数据到同一个表单程序进行处理,或者数据在多个页面之间传输处理的话,你就可以使用ASP.NET 2.0这个新特性。例如,我打算把Default.aspx页里TextBox1里的文本数据发送到Default2.aspx页面进行处理:
    Default.aspx页:
    <%@ Page Language="C#" %>
    <script runat="server">
    void Button2_Click(object sender, EventArgs e)
    {
    Label1.Text
    = "Hi," + TextBox1.Text + ". This is Default.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:TextBox ID="TextBox1" Runat="server"></asp:TextBox>
    <asp:Button ID="Button1" Runat="server" Text="PostToAnotherPage" PostBackUrl="~/Default2.aspx" />
    <asp:Button ID="Button2" Runat="server" Text="PostToSelf" OnClick="Button2_Click" />
    <br />
    <asp:Label ID="Label1" Runat="server" Text="Label"></asp:Label>
    </form>
    </body>
    </html>
    Default2.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高级编程(pdf)

    8 1.3.2新的编译系统 12 1.3.3页面框架的新增内容 13 1.3.4访问数据的新对象 15 1.3.5新的服务器控件 15 1.4建立ASP.NET2.0页面的新IDE 16 1.5小结 17 第2章VisualStudio2005 19 2.1启动...

    ASP.NET AJAX程序设计——第I卷:服务器端ASP.NET 2.0 AJAX Extensions与ASP.NET AJAX Control Toolkit 源代码

    这部分内容不需要读者有任何的客户端开发知识,只要在Visual Stuio中轻松拖放即可实现强大的客户端Ajax功能,例如局部页面更新、异步回送、拖放、动画等,非常适合为现有的ASP.NET 2.0应用程序添加少量的Ajax特性,...

    ASP.NET 2.0高级编程(第4版) 4/6

    ASP.NET 2.0在ASP.NET框架内引入了大量的新技术。阅读完本书后,读者就知道ASP.NET开发小组在过去的几年里都在忙些什么。ASP.NET中类的数量翻了一倍还多,而且这个版本还包含50多个新的服务器控件。本书介绍这些新...

    ASP.NET 2.0 动态网站开发教程.rar

    第一部分介绍ASP.NET 2.0的基础知识,包括.NET框架的体系结构、ASPX网页的运行机制、验证控件的使用以及相关的浏览器技术。第二部分介绍了数据访问技术,包括ADO.NET的系统结构,对数据库的连接、显示、编辑与同步,...

    asp.net2.0.zip asp.net2.0.zip

    asp.net2.0.zip asp.net2.0.zip asp.net2.0.zip

    ASP.NET 2.0+SQL SERVER热门网络应用开发详解 光盘

    本书介绍利用ASP.NET 2.0和SQL Server开发典型网络应用系统的必备知识,重点介绍ASP.NET 2.0的核心控件与使用方法,以及能够提高开发效率的.NET框架——NSpring、NHibernate等。针对现在热门的Web 2.0的开发,本书也...

    asp.net 2.0 基础知识

    ASP.NET 2.0 通过 Provider 模式为用户验证、角色管理等方面提供了非常强大易用的框架 模型。Whidbey 中提供了一个 ASP.NET configuration 工具,通过它可以非常容易地配置用户 信息数据库,与新增加的 ...

    ASP.NET 2.0技术内幕

    《ASP.NET 2.0技术内幕》采用自顶向下的方式介绍ASP.NET 2.0的最新编程实践,从更广泛的特征到具体的实现和编程细节,充分展示了ASP.NET的最新编程实践。全书共15章,主题涉及HTTP运行库、安全性、缓存、状态...

    ASP.NET 2.0 Ajax程序设计——第II卷书中代码2

    还介绍了ASP.NET AJAX 框架为开发者在客户端用JavaScript 与服务器端通信而创造的种种便利条件,包括直接调用Web Service、页面方法以及ASP.NET 应用服务(例如身份验证、用户个性化以及全球化服务)等。ASP.NET ...

    ASP.NET 2.0数据操作教程(超值完整版)part2

    我们将从创建一个软件框架开始,这个框架的组成部分包括一个使用强类型的DataSet的数据访问层(DAL),一个实施用户定义的业务规则的业务逻辑层(BLL),以及一个由共享页面布局的ASP.NET网页组成的表现层。在打下这个...

    ASP.NET第一步(基于C#和ASP.NET 2.0)随书源码光盘原样复制

    ASP.NET第一步(基于C#和ASP.NET 2.0)的随书源码,包含了本书各章中出现的所有程序的源代码:  1.对于ASP.NET 2.0的网站项目,没有项目文件,直接使用IDE打开网站目录即可。  2.对于控制台应用程序或者包含多个...

    Asp.net 2.0高级编程第二章

    本书全面介绍了ASP.NET各种编程技能和2.0版中的巨大变化,并详细阐述了2.0版中的每个新特性。书中提供了大量的实例,可帮助读者快速掌握如何在.NET平台下开发功能强大的ASP.NET应用程序。本书适合有一些基础的ASP...

    Asp.net 2.0高级编程第一章

    本书全面介绍了ASP.NET各种编程技能和2.0版中的巨大变化,并详细阐述了2.0版中的每个新特性。书中提供了大量的实例,可帮助读者快速掌握如何在.NET平台下开发功能强大的ASP.NET应用程序。本书适合有一些基础的ASP...

    ASP.NET 2.0高级编程 第四章

    本书全面介绍了ASP.NET各种编程技能和2.0版中的巨大变化,并详细阐述了2.0版中的每个新特性。书中提供了大量的实例,可帮助读者快速掌握如何在.NET平台下开发功能强大的ASP.NET应用程序。本书适合有一些基础的ASP...

    Scott Mitchell 的ASP.NET 2.0数据教程

    我们将从创建一个软件框架开始,这个框架的组成部分包括一个使用强类型的DataSet的数据访问层(DAL),一个实施用户定义的业务规则的业务逻辑层(BLL),以及一个由共享页面布局的ASP.NET网页组成的表现层。在打下这个...

    ComponentArt Web.UI 2008.1 for ASP.NET 2.0 完美无限制DLL文件

    该版本有四个框架平台:ASP.NET 1.0、ASP.NET 2.0、ASP.NET Ajax,还有当然是最新的.NET框架支持的ASP.NET 3.5了。 &lt;br&gt;2008.1不仅对其代码的运行效率进行了优化,还最增了一个大家期盼已久的成员:Upload。上传...

    ASP.NET 2.0 电子书 VS2005学习资料大全

    1.ASP.NET.2.0.XML.高级编程(第3版).pdf 56.7MB 2.ASP.NET.2.0.高级编程(第4版).pdf 105.8MB 3.ASP.NET.2.0.入门经典(第4版).pdf 186.5MB 4.ASP.NET.2.0.数据库入门经典(第4版).pdf 34.8MB 5.ASP.NET.基础...

    ASP.NET 2.0高级编程(第4版) 5/6

    ASP.NET 2.0在ASP.NET框架内引入了大量的新技术。阅读完本书后,读者就知道ASP.NET开发小组在过去的几年里都在忙些什么。ASP.NET中类的数量翻了一倍还多,而且这个版本还包含50多个新的服务器控件。本书介绍这些新...

    ASP.NET 2.0高级编程(第4版) 1/6

    ASP.NET 2.0在ASP.NET框架内引入了大量的新技术。阅读完本书后,读者就知道ASP.NET开发小组在过去的几年里都在忙些什么。ASP.NET中类的数量翻了一倍还多,而且这个版本还包含50多个新的服务器控件。本书介绍这些新...

    ASP.NET 2.0高级编程(第4版) 6/6

    ASP.NET 2.0在ASP.NET框架内引入了大量的新技术。阅读完本书后,读者就知道ASP.NET开发小组在过去的几年里都在忙些什么。ASP.NET中类的数量翻了一倍还多,而且这个版本还包含50多个新的服务器控件。本书介绍这些新...

Global site tag (gtag.js) - Google Analytics