一、Page 类
Page 类与扩展名为 .aspx 的文件相关联;这些文件在运行时被编译为 Page 对象,并被缓存在服务器内存中。如果是使用代码隐藏技术创建 Web 窗体页,请从该类派生。
例:(public partial class _Default : System.Web.UI.Page)
Page 对象充当页中所有服务器控件(实现 INamingContainer 接口的控件或实现此接口的控件的子控件除外)的命名容器。
下面的代码示例演示如何在代码隐藏页模型中使用 Page 类。注意,代码隐藏源文件声明了一个从基页类继承的分部类。基页类可以是 Page,也可以是从 Page 派生的其他类。另外请注意,分部类允许代码隐藏文件使用页中定义的控件,而无需将其定义为字段成员。
using System;
public partial class MyCodeBehindCS : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
// Place page-specific code here.
}
// Define a handler for the button click.
protected void SubmitBtn_Click(object sender, EventArgs e)
{
MySpan.InnerHtml = "Hello, " + MyTextBox.Text + ".";
}
}
下面的代码示例演示与前面的代码隐藏源文件对应的 .aspx 文件:
<%@ Page Language="C#" CodeFile="pageexample.aspx.cs" Inherits="MyCodeBehindCS" %>
<html>
<head runat="server">
<title>Page Class Example</title>
</head>
<body>
<form runat="server">
<div>
<table>
<tr>
<td> Name: </td>
<td> <asp:textbox id="MyTextBox" runat="server"/> </td>
</tr>
<tr>
<td></td>
<td><asp:button id="MyButton" text="Click Here" οnclick="SubmitBtn_Click" runat="server"/></td>
</tr>
<tr>
<td></td>
<td><span id="MySpan" runat="server" /></td>
</tr>
</table>
</div>
</form>
</body>
</html>
必须使用 @ Page 指令并使用 Inherits 和 CodeFile 属性将代码隐藏文件链接至 .aspx 文件。在此示例中,Inherits 属性指示 MyCodeBehind 类,CodeFile 属性指示包含该类的语言特定的文件的路径。
下面的代码示例演示单文件页模型以及如何访问 Page 的 IsPostBack 属性和 Response 属性。
<%@ Page Language="C#" %>
<script runat="server">
protected void Page_Load(object sender, EventArgs e)
{
StringBuilder sb = new StringBuilder();
if (Page.IsPostBack)
sb.Append("You posted back to the page.<br>");
sb.Append("The host address is " + Page.Request.UserHostAddress + ".<br>");
sb.Append("The page title is /"" + Page.Header.Title + "/".");
PageMessage.Text = sb.ToString();
}
</script>
<html>
<head runat="server">
<title>Page Class Example</title>
</head>
<body>
<form id="form1"
runat="server">
<div>
<asp:Label id="PageMessage"
runat="server"/>
<br /> <br />
<asp:Button id="PageButton"
Text="PostBack"
runat="server" />
</div>
</form>
</body>
</html>
二、Page成员
公共构造函数
说明 | |
初始化 Page 类的新实例。 |
公共字段
说明 | |
一个定义呈现的页中的 EVENTARGUMENT 隐藏字段的字符串。 | |
一个定义呈现的页中的 EVENTTARGET 隐藏字段的字符串。 |
公共属性
名称 | 说明 |
为当前 Web 请求获取 HttpApplicationState 对象。 | |
获取或设置包含该控件的 Page 或 UserControl 对象的应用程序相对虚拟目录。(从 Control 继承。) | |
获取或设置从中解析和编译控件的文件的相对于应用程序的虚拟目录路径。 (从 TemplateControl 继承。) | |
获取或设置一个值,它指示处理异步任务时使用的超时间隔。 | |
获取包含该控件的数据绑定的控件。(从 Control 继承。) | |
设置指示是否对页输出进行缓冲处理的值。 | |
获取与该页驻留的应用程序关联的 Cache 对象。 | |
获取由 ASP.NET 生成的服务器控件标识符。(从 Control 继承。) | |
获取请求的 URL 的查询字符串部分。 | |
获取用于管理脚本、注册脚本和向页添加脚本的 ClientScriptManager 对象。 | |
获取或设置一个值,该值使您得以重写对浏览器功能的自动检测,并指定针对特定的浏览器客户端页的呈现方式。 | |
设置当前 Page 的代码页标识符。 | |
设置与页关联的 HttpResponse 对象的 HTTP MIME 类型。 | |
获取 ControlCollection 对象,该对象表示 UI 层次结构中指定服务器控件的子控件。(从 Control 继承。) | |
设置与页关联的 Thread 对象的区域性 ID。 | |
获取或设置一个值,该值指示页面验证回发事件,还是验证回调事件。 | |
获取或设置一个布尔值,该值指示主题是否应用于派生自 TemplateControl 类的控件。 (从 TemplateControl 继承。) | |
已重写。获取或设置一个值,该值指示当前页请求结束时该页是否保持其视图状态以及它包含的任何服务器控件的视图状态。 | |
获取或设置一个值,该值指示当页从客户端回发时,ASP.NET 是否应对页的视图状态运行消息验证检查 (MAC)。 | |
获取或设置错误页,在发生未处理的页异常的事件时请求浏览器将被重定向到该页。 | |
获取页的 HTML 窗体。 | |
在页声明中用 runat=server 定义了 head 元素的情况下获取页的文档标头。 | |
已重写。获取或设置 Page 类的特定实例的标识符。 | |
获取在为页上的控件构造唯一 ID 时用于分隔控件标识符的字符串。 | |
获取一个值,该值指示是否异步处理页。 | |
获取一个值,该值指示页请求是否是回调的结果。 | |
获取一个值,该值指示跨页回发中是否涉及该页。 | |
获取一个值,该值指示该页是否正为响应客户端回发而加载,或者它是否正被首次加载和访问。 | |
获取一个值,该值指示 Page 对象是否可重用。 | |
获取一个值,该值指示页验证是否成功。 | |
获取存储在页上下文中的对象的列表。 | |
设置与页关联的 Thread 对象的区域设置标识符。 | |
获取或设置一个值,该值指示回发后是否将用户返回到客户端浏览器中的同一位置。 | |
获取确定页的整体外观的母版页。 | |
获取或设置母版页的文件名。 | |
获取或设置页状态字段的最大长度。 | |
获取对服务器控件的命名容器的引用,此引用创建唯一的命名空间,以区分具有相同 Control.ID 属性值的服务器控件。(从 Control 继承。) | |
获取对包含服务器控件的 Page 实例的引用。(从 Control 继承。) | |
获取为特定的请求浏览器呈现页的适配器。 | |
获取对页 UI 层次结构中服务器控件的父控件的引用。(从 Control 继承。) | |
获取向当前页传输控件的页。 | |
获取请求的页的 HttpRequest 对象。 | |
获取与该 Page 对象关联的 HttpResponse 对象。该对象使您得以将 HTTP 响应数据发送到客户端,并包含有关该响应的信息。 | |
设置当前的 HttpResponse 对象的编码语言。 | |
获取 Server 对象,它是 HttpServerUtility 类的实例。 | |
获取 ASP.NET 提供的当前 Session 对象。 | |
获取容器信息,该容器在呈现于设计图面上时承载当前控件。(从 Control 继承。) | |
获取或设置要应用于控件的外观。(从 Control 继承。) | |
获取或设置指示是否启用智能导航的值。 | |
获取或设置应用于此页的样式表的名称。 | |
获取或设置对包含该控件的模板的引用。 (从 Control 继承。) | |
获取包含当前服务器控件的 Page 或 UserControl 的虚拟目录。(从 Control 继承。) | |
获取或设置页主题的名称。 | |
获取或设置页的标题。 | |
为当前 Web 请求获取 TraceContext 对象。 | |
设置一个值,该值指示是否为 Page 对象启用跟踪。 | |
设置跟踪语句在页中的显示模式。 | |
设置与页关联的 Thread 对象的用户界面 (UI) ID。 | |
获取服务器控件的唯一的、以分层形式限定的标识符。(从 Control 继承。) | |
获取有关发出页请求的用户的信息。 | |
获取请求的页上包含的全部验证控件的集合。 | |
获取或设置视图状态的加密模式。 | |
将一个标识符赋给与当前页关联的视图状态变量中的单个用户。 | |
已重写。获取或设置指示是否呈现 Page 对象的值。 |
受保护的属性
说明 | |
获取控件的浏览器特定适配器。(从 Control 继承。) | |
设置一个值,它指示页是否可在单线程单元 (STA) 线程上执行。 | |
设置一个指示对页进行同步还是异步处理的值。 | |
在 ASP.NET NET 2.0 中,AutoHandlers 属性已被否决。它是由生成的类使用的,不应在代码中使用。(从 TemplateControl 继承。) | |
获取一个值,该值指示是否已创建服务器控件的子控件。(从 Control 继承。) | |
已重写。获取与该页关联的 HttpContext 对象。 | |
获取一个值,该值指示是否正在使用设计图面上的一个控件。(从 Control 继承。) | |
获取控件的事件处理程序委托列表。此属性为只读。(从 Control 继承。) | |
设置当前的 HttpResponse 对象所依赖的文件的数组。 | |
获取一个值,该值指示当前服务器控件的子控件是否具有任何已保存的视图状态设置。(从 Control 继承。) | |
获取一个值,该值指示该控件中包含的控件是否具有控件状态。(从 Control 继承。) | |
获取一个值,用于指示服务器控件是否会将更改保存到其视图状态中。(从 Control 继承。) | |
获取一个值,该值指示是否为该控件启用了视图状态。(从 Control 继承。) | |
获取一个值,该值指示控件是否通过 ID 而不是索引参与加载其视图状态。 (从 Control 继承。) | |
获取与该页关联的 PageStatePersister 对象。 | |
获取一个值,该值指示 TemplateControl 控件是否支持自动事件。(从 TemplateControl 继承。) | |
设置该页的事务支持的级别。 | |
获取要追加到用于缓存浏览器的文件路径的唯一后缀。 | |
获取状态信息的字典,这些信息使您可以在同一页的多个请求间保存和还原服务器控件的视图状态。(从 Control 继承。) | |
获取一个值,该值指示 StateBag 对象是否不区分大小写。(从 Control 继承。) |
公共方法
名称 | 说明 |
已重载。 为异步页注册开始和结束事件处理程序委托。 | |
将页样式表中定义的样式属性应用到控件。 (从 Control 继承。) | |
创建指定的 HtmlTextWriter 对象以呈现该页的内容。 | |
已重载。 将数据源绑定到被调用的服务器控件及其所有子控件。 (从 Control 继承。) | |
执行 RAD 设计器所需的 Page 类的实例的任何初始化。此方法仅在设计时使用。 | |
使服务器控件得以在从内存中释放之前执行最后的清理操作。 (从 Control 继承。) | |
开始执行异步任务。 | |
已重载。 已重写。 在页命名容器中搜索指定的服务器控件。 | |
为控件设置输入焦点。 (从 Control 继承。) | |
获取位于数据绑定上下文堆栈顶部的数据项。 | |
用作特定类型的哈希函数。GetHashCode 适合在哈希算法和数据结构(如哈希表)中使用。 (从 Object 继承。) | |
获取一个引用,客户端事件可使用该引用以指定的事件参数回发给服务器的指定控件。 | |
获取一个引用,并在开头追加 javascript:,客户端事件可使用该引用以指定的事件参数回发给服务器的指定控件。 | |
已重载。 返回一个可以在客户端事件中使用的字符串,以便回发到服务器。此方法已被否决。请改用 ClientScriptManager 类中的 GetPostBackEventReference 方法。 | |
检索由运行时生成的 Page 对象生成的哈希代码。这种哈希代码对于 Page 对象的控件层次结构是唯一的。 | |
返回指定验证组的控件验证程序的集合。 | |
确定服务器控件是否包含任何子控件。 (从 Control 继承。) | |
确定具有指定关键字的客户端脚本块是否已向页注册。 | |
确定 Page 对象是否注册了客户端启动脚本。 | |
已重载。 加载 Control。 (从 TemplateControl 继承。) | |
从外部文件获取 ITemplate 接口的实例。 (从 TemplateControl 继承。) | |
检索虚拟路径(绝对的或相对的)或应用程序相关的路径映射到的物理路径。 | |
将输入字符串分析为 Web 窗体页或用户控件上的 Control 对象。 (从 TemplateControl 继承。) | |
设置 Page 的内部,如 Context、Request、Response 和 Application 属性。 | |
已重载。 读取字符串资源。 (从 TemplateControl 继承。) | |
确定指定的 Object 实例是否是相同的实例。 (从 Object 继承。) | |
声明一个值,该值在页呈现时声明为 ECMAScript 数组声明。 | |
向页注册新的异步任务。 | |
向响应发出客户端脚本块。 | |
使服务器控件能够在窗体上自动注册隐藏字段。呈现 HtmlForm 服务器控件时,将该字段发送到 Page 对象。 | |
使页能够访问客户端 OnSubmit 事件。脚本应该是注册在其他地方的对客户端代码的函数调用。 | |
将控件注册为具有持久性控件状态的控件。 | |
将控件注册为要求在页回发至服务器时进行回发处理的控件。 | |
将 ASP.NET 服务器控件注册为需要在 Page 对象上处理控件时引发事件的控件。 | |
向页将控件注册为需要视图状态加密的控件。 | |
在页响应中发出客户端脚本块。 | |
如果调用,则保持页视图状态。 | |
已重载。 输出服务器控件内容,并存储有关此控件的跟踪信息(如果已启用跟踪)。 (从 Control 继承。) | |
确定是否注册指定的 Control 对象以参与控件状态管理。 | |
获取浏览器可以使用的 URL。 (从 Control 继承。) | |
将 URL 转换为在请求客户端可用的 URL。 (从 Control 继承。) | |
已重载。 将浏览器焦点设置为指定控件。 | |
分配事件处理程序委托,以将服务器控件及其内容呈现到父控件中。 (从 Control 继承。) | |
返回一个布尔值,该值指示是否对该 HTTP 请求应用设备筛选器。 (从 TemplateControl 继承。) | |
停止指定控件的控件状态的持久性。 | |
已重载。 指示该页上包含的所有验证控件验证指派给它们的信息。 | |
确认在运行时为指定的 ASP.NET 服务器控件呈现 HtmlForm 控件。 |
受保护的方法
说明 | |
在页初始化过程中调用,用于创建传递给母版页的内容(来自内容控件)的集合,前提是当前页或母版页引用母版页。 | |
通知服务器控件某个元素(XML 或 HTML)已经过语法分析,并将该元素添加到服务器控件的 ControlCollection 对象。 (从 Control 继承。) | |
添加组成当前页的依赖文件的列表。此方法由 ASP.NET 页框架在内部使用,不应从代码直接使用。 | |
启动对 Active Server Page (ASP) 资源的请求。提供此方法是为了与旧式 ASP 应用程序兼容。 | |
终止对 Active Server Page (ASP) 资源的请求。提供此方法是为了与旧式 ASP 应用程序兼容。 | |
开始处理异步页请求。 | |
结束处理异步页请求。 | |
收集有关服务器控件的信息并将该信息发送到 Trace 属性,在启用页的跟踪功能时将显示该属性。 (从 Control 继承。) | |
删除服务器控件的子控件的控件状态信息。 (从 Control 继承。) | |
删除服务器控件的所有子控件的视图状态和控件状态信息。 (从 Control 继承。) | |
删除服务器控件的所有子控件的视图状态信息。 (从 Control 继承。) | |
执行设计时逻辑。 (从 TemplateControl 继承。) | |
由 ASP.NET 页面框架调用,以通知使用基于合成的实现的服务器控件创建它们包含的任何子控件,以便为回发或呈现做准备。 (从 Control 继承。) | |
创建一个新的 ControlCollection 对象来保存服务器控件的子控件(包括文本控件和服务器控件)。 (从 Control 继承。) | |
创建 HtmlTextWriter 对象以呈现该页的内容。 | |
访问存储在资源中的字符串。CreateResourceBasedLiteralControl 方法并不应从代码中使用。 (从 TemplateControl 继承。) | |
已重载。 将数据源绑定到被调用的服务器控件及其所有子控件。 (从 Control 继承。) | |
将数据源绑定到服务器控件的子控件。 (从 Control 继承。) | |
返回使用 POST 或 GET 命令回发到页的数据的 NameValueCollection。 | |
确定服务器控件是否包含子控件。如果不包含,则创建子控件。 (从 Control 继承。) | |
为尚未分配标识符的控件创建标识符。 (从 Control 继承。) | |
已重载。 为在运行时根据对象分析和计算数据绑定表达式提供支持。 (从 TemplateControl 继承。) | |
允许 Object 在“垃圾回收”回收 Object 之前尝试释放资源并执行其他清理操作。 (从 Object 继承。) | |
已重载。 在当前的命名容器中搜索指定的服务器控件。 (从 Control 继承。) | |
已重写。 在页生成过程中根据页的声明性特性初始化控件树。 | |
获取控件的设计时数据。 (从 Control 继承。) | |
已重载。 获取应用程序级别的资源。 (从 TemplateControl 继承。) | |
已重载。 获取页级别的资源。 (从 TemplateControl 继承。) | |
返回与虚拟文件位置列表对应的物理文件名列表。 | |
返回一个值,该值指示是否为控件或任何子控件注册事件。 (从 Control 继承。) | |
已重载。 初始化当前页请求的输出缓存。 | |
确定服务器控件是否只包含文字内容。 (从 Control 继承。) | |
从 SaveControlState 方法保存的上一个页请求还原控件状态信息。 (从 Control 继承。) | |
将所有保存的视图状态信息加载到 Page 对象。 | |
从 SaveViewState 方法保存的上一个页请求还原视图状态信息。 (从 Control 继承。) | |
检索虚拟路径(绝对的或相对的)映射到的物理路径。 (从 Control 继承。) | |
创建当前 Object 的浅表副本。 (从 Object 继承。) | |
引发 AbortTransaction 事件。 (从 TemplateControl 继承。) | |
确定服务器控件的事件是否沿页的 UI 服务器控件层次结构向上传递。 (从 Control 继承。) | |
引发 CommitTransaction 事件。 (从 TemplateControl 继承。) | |
引发 DataBinding 事件。 (从 Control 继承。) | |
引发 Error 事件。 (从 TemplateControl 继承。) | |
已重写。 引发 Init 事件以对页进行初始化。 | |
在页初始化后引发 InitComplete 事件。 | |
引发 Load 事件。 (从 Control 继承。) | |
在页加载阶段结束时引发 LoadComplete 事件。 | |
在页初始化开始时引发 PreInit 事件。 | |
在 OnPreRenderComplete 事件之后但在呈现页之前引发 PreRenderComplete 事件。 | |
在已将页状态保存到持久性介质中之后引发 SaveStateComplete 事件。 | |
将所有事件源及其信息分配给控件的父级。 (从 Control 继承。) | |
通知引起回发的服务器控件:它应处理传入的回发事件。 | |
在子控件从 Control 对象的 Controls 集合中移除后调用。 (从 Control 继承。) | |
已重写。 初始化 HtmlTextWriter 对象并调用 Page 的子控件进行呈现。 | |
将服务器控件子级的内容输出到提供的 HtmlTextWriter 对象,此对象编写将在客户端呈现的内容。 (从 Control 继承。) | |
已重载。 输出服务器控件内容,并存储有关此控件的跟踪信息(如果已启用跟踪)。 (从 Control 继承。) | |
获取负责呈现指定控件的控件适配器。 (从 Control 继承。) | |
保存自页回发到服务器后发生的任何服务器控件状态更改。 (从 Control 继承。) | |
保存页的所有视图状态信息和控件状态信息。 | |
保存自页回发到服务器后发生的任何服务器控件视图状态更改。 (从 Control 继承。) | |
设置控件的设计时数据。 (从 Control 继承。) | |
设置指向字符串资源的指针。SetStringResourcePointer 方法是由生成的类使用的,并且不应从代码中使用。 (从 TemplateControl 继承。) | |
导致跟踪服务器控件的视图状态的更改,以便这些更改可以存储到服务器控件的 StateBag 对象中。通过 Control.ViewState 属性可访问此对象。 (从 Control 继承。) | |
向 HtmlTextWriter 控件写入资源字符串。WriteUTF8ResourceString 方法是由生成的类使用的,并且不应从代码中使用。 (从 TemplateControl 继承。) | |
已重载。 为在运行时根据对象分析和计算 XPath 数据绑定表达式提供支持。 (从 TemplateControl 继承。) | |
已重载。 针对基于 XML 的数据提供运行时数据绑定并返回实现 IEnumerable 接口的节点集合。 (从 TemplateControl 继承。) |
公共事件
说明 | |
当用户中止事务时发生。(从 TemplateControl 继承。) | |
当事务完成时发生。(从 TemplateControl 继承。) | |
当服务器控件绑定到数据源时发生。(从 Control 继承。) | |
当从内存释放服务器控件时发生,这是请求 ASP.NET 页时服务器控件生存期的最后阶段。(从 Control 继承。) | |
当引发未处理的异常时发生。(从 TemplateControl 继承。) | |
当服务器控件初始化时发生;初始化是控件生存期的第一步。(从 Control 继承。) | |
在页初始化完成时发生。 | |
当服务器控件加载到 Page 对象中时发生。(从 Control 继承。) | |
在页生命周期的加载阶段结束时发生。 | |
在页初始化开始时发生。 | |
在页 Load 事件之前发生。 | |
在呈现页内容之前发生。 | |
在页已完成对页和页上控件的所有视图状态和控件状态信息的保存后发生。 | |
当服务器控件从内存中卸载时发生。(从 Control 继承。) |