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中输入值后,单击回车后我们可以动态的指定调用哪一个按钮的方法。
页面基类为:

ContractedBlock.gif Code

 

页面类为:

ContractedBlock.gif Code

本文转自 你听海是不是在笑 博客园博客,原文链接:http://www.cnblogs.com/nuaalfm/archive/2008/09/13/1290407.html  ,如需转载请自行联系原作者
相关文章
|
3月前
|
开发框架 前端开发 JavaScript
盘点72个ASP.NET Core源码Net爱好者不容错过
盘点72个ASP.NET Core源码Net爱好者不容错过
71 0
|
3月前
|
开发框架 .NET
ASP.NET Core NET7 增加session的方法
ASP.NET Core NET7 增加session的方法
37 0
|
1月前
|
开发框架 前端开发 .NET
进入ASP .net mvc的世界
进入ASP .net mvc的世界
29 0
|
8月前
|
开发框架 前端开发 .NET
ASP.NET Core 基础知识之​Startup 类配置
Startup 类配置服务和应用的请求管道。
113 0
|
9月前
|
开发框架 前端开发 JavaScript
ASP .Net Core 中间件的使用(一):搭建静态文件服务器/访问指定文件
ASP .Net Core 中间件的使用(一):搭建静态文件服务器/访问指定文件
|
开发框架 前端开发 .NET
进入ASP .net mvc的世界
进入ASP .net mvc的世界
86 0
|
存储 开发框架 NoSQL
ASP.NET Core微服务(六)——【.Net Core操作redis】StackExchange.Redis
ASP.NET Core微服务(六)——【.Net Core操作redis】StackExchange.Redis
284 0
ASP.NET Core微服务(六)——【.Net Core操作redis】StackExchange.Redis
|
开发框架 前端开发 安全
ASP.NET Core Startup类Config gure()方法|ASP.NET Core 中间件详细说明
目录 Startup 类 Configure() 方法 中间件 使用中间件 Configure 方法 的参数 IApplicationBuilder Extension Methods(拓展方法)--微软提供的中间件
147 0
ASP.NET Core Startup类Config gure()方法|ASP.NET Core 中间件详细说明
|
存储 开发框架 NoSQL
ASP.NET Core+Quartz.Net实现web定时任务
此处我们的项目使用稍复杂的Quartz.net实现web定时任务。
ASP.NET Core+Quartz.Net实现web定时任务
|
XML 开发框架 JSON
ASP.NET Core: 二十一. 内容协商与自定义IActionResult和格式化类(五)
上一章的结尾留下了一个问题:同样是ObjectResult,在执行的时候又是如何被转换成string和JSON两种格式的呢? 本章来解答这个问题,这里涉及到一个名词:“内容协商”。除了这个,本章将通过两个例子来介绍如何自定义IActionResult和格式化类。
194 0
ASP.NET Core: 二十一. 内容协商与自定义IActionResult和格式化类(五)