• ASP.NET深入浅出系列3 Page类


    在.NET Framework中,Page类为ASP.NET应用程序从.aspx文件构建的所有对象提供基本行为。该类在namespace System.Web.UI命名空间中定义,从TemplateControl中派生出来,实现了IHttpHandler接口:
    public class Page : TemplateControl, IHttpHandler
    TemplateControl是向ASP.NET页面和用户控件提供基本功能的抽象类。Control类位于这个层次的顶端。它定义由所有的ASP.NET服务器端元素(页面,控件)共享的属性、方法和事件。结构图如下:

    Page对象的重要属性
    ClientQueryString:获取请求的 URL 的查询字符串部分。这个属性可以用于处理特殊格式的 URL查询字符串。
    Visible:这是一个重写自Control类的属性,如果页面的Visible为false,ASP.NET不会为此页面生成任何HTML代码,这时只显示使用Response.write输出的文本。
    IsValid:获取一个值,该值指示页验证是否成功。这个属性在使用验证控件时常用。
    IsPostBack:获取一个值,该值指示该页是否正为响应客户端回发而加载,或者它是否正被首次加载和访问。如果是为响应客户端回发而加载该页,则为 true;否则为 false。这个属性相当常用,我们常常是在第一次访问页面时进行某些初始化,回发时不进行某些初始化工作,这时候我们就要在page_load事件中使用这个属性判断是否是回发。
    Request:获取请求的页的 System.Web.HttpRequest 对象。
    Response:获取与该 System.Web.UI.Page 对象关联的 System.Web.HttpResponse 对象。该对象使您得以将 HTTP 响应数据发送到客户端,并包含有关该响应的信息。
    Session:获取 ASP.NET 提供的当前 Session 对象。
    Theme:获取或设置页主题的名称。
    Title:获取或设置页的标题,如果需要动态更换浏览器页标题,这个属性很有用。
    Controls: 获取 System.Web.UI.ControlCollection 对象,该对象表示 UI 层次结构中指定服务器控件的子控件。这是继承于Control类的属性。当我们需要访问页面中的控件时它很有用。

    Page对象的重要方法
    DataBind():将页面中所有的数据绑定控件绑定到数据源。
    例如:
    int[] a = { 1,2,3,4};
    GridView1.DataSource = a;
    GridView2.DataSource = a;
    this.DataBind();
    我们可以使用页面的DataBind()方法将两个GridView绑定到数据源。
    FindControl():在页命名容器中搜索带指定标识符的服务器控件。这里要注意的是这个方法并不搜索自身是命名容器的子控件,如果需要搜索页面的所有控件,可以使用递归方法。
    SetFocus(Control control):将浏览器焦点设置为指定控件。这是一个非常有用的方法,比方说我们希望页面载入后,焦点在TextBox1对话框上,我们可以在page_load事件中输入如下代码:
    this.SetFocus(TextBox1);

    Page对象的重要事件
    请参见http://www.cnblogs.com/nuaalfm/archive/2008/09/11/1289325.html


    我们都知道,所有的aspx的代码分离类都是继承于这个Page类的,但有的时候我们可能发现有一些页面的部分功能大量重复,我们可以将这些重复的部分抽象出来到一个类,让这个类继承于Page类,然后再让那些代码分离类继承于这个类,我们这里举一个实用的例子:

    有时我们可能希望我们的页面支持在textbox中输入值后,单击回车后我们可以动态的指定调用哪一个按钮的方法。
    页面基类为:

    Code

     

    页面类为:

    Code
  • 相关阅读:
    js基础之弹性运动(四)
    js基础之动画(三)
    js基础之动画(二)
    js基础之动画(一)
    js基础之ajax
    js基础之COOKIE
    4.27日软件开发日记我今天做了什么
    4.25日
    4.24日自学成果
    错排公式及其化简
  • 原文地址:https://www.cnblogs.com/nuaalfm/p/1290407.html
Copyright © 2020-2023  润新知