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

本文转自 你听海是不是在笑 博客园博客,原文链接:http://www.cnblogs.com/nuaalfm/archive/2008/09/13/1290407.html  ,如需转载请自行联系原作者
相关文章
|
7月前
|
开发框架 前端开发 JavaScript
盘点72个ASP.NET Core源码Net爱好者不容错过
盘点72个ASP.NET Core源码Net爱好者不容错过
172 0
|
7月前
|
开发框架 .NET
ASP.NET Core NET7 增加session的方法
ASP.NET Core NET7 增加session的方法
95 0
|
IDE API 开发工具
拦截|篡改|伪造.NET类库中不限于public的类和方法
本文除了回顾拦截.NET类库中的方法,实现方法参数的篡改、方法返回结果的伪造,再着重介绍.NET类库中非public类及方法如何拦截。
拦截|篡改|伪造.NET类库中不限于public的类和方法
|
存储 开发框架 前端开发
asp.net与asp.net优缺点及示例
asp.net与asp.net优缺点及示例
105 0
|
2月前
|
开发框架 .NET C#
C#|.net core 基础 - 删除字符串最后一个字符的七大类N种实现方式
【10月更文挑战第9天】在 C#/.NET Core 中,有多种方法可以删除字符串的最后一个字符,包括使用 `Substring` 方法、`Remove` 方法、`ToCharArray` 与 `Array.Copy`、`StringBuilder`、正则表达式、循环遍历字符数组以及使用 LINQ 的 `SkipLast` 方法。
|
2月前
.NET 4.0下实现.NET4.5的Task类相似功能组件
【10月更文挑战第29天】在.NET 4.0 环境下,可以使用 `BackgroundWorker` 类来实现类似于 .NET 4.5 中 `Task` 类的功能。`BackgroundWorker` 允许在后台执行耗时操作,同时不会阻塞用户界面线程,并支持进度报告和取消操作。尽管它有一些局限性,如复杂的事件处理模型和不灵活的任务管理方式,但在某些情况下仍能有效替代 `Task` 类。
|
2月前
|
API
使用`System.Net.WebClient`类发送HTTP请求来调用阿里云短信API
使用`System.Net.WebClient`类发送HTTP请求来调用阿里云短信API
36 0
|
4月前
|
缓存 程序员
封装一个给 .NET Framework 用的内存缓存帮助类
封装一个给 .NET Framework 用的内存缓存帮助类
|
4月前
|
开发框架 JSON .NET
ASP.NET Core 标识(Identity)框架系列(三):在 ASP.NET Core Web API 项目中使用标识(Identity)框架进行身份验证
ASP.NET Core 标识(Identity)框架系列(三):在 ASP.NET Core Web API 项目中使用标识(Identity)框架进行身份验证
|
4月前
|
开发框架 .NET 数据库连接
ASP.NET Core 标识(Identity)框架系列(一):如何使用 ASP.NET Core 标识(Identity)框架创建用户和角色?
ASP.NET Core 标识(Identity)框架系列(一):如何使用 ASP.NET Core 标识(Identity)框架创建用户和角色?