ASP.NET 页面指令详解
当使用指令时,虽然标准的做法是将指令包括在文件的开头,但是它们可以位于 .aspx 或
.ascx 文件中的任何位置。每个指令都可以包含一个或多个特定于该指令的属性(与值成对
出现)。
注意 @ Page
指令只能在 .aspx
文件中使用,而 @ Control
指令只能在 .ascx 文件中使用。
Web 窗体页框架支持以下指令。
ASP.NET 中的常用指令
@ Page
定义 ASP.NET
页分析器和编译器使用的页特定属性。只能包含在 .aspx 文件中。
@ Control
定义 ASP.NET
页分析器和编译器使用的控件特定属性。只能包含在 .ascx 文件
(用户控件)中。
@ Import 将命名空间显式导入页或用户控件中。
@ Implements
以声明的方式指示页或用户控件实现指定的 .NET Framework 接口。
@ Register 将别名与命名空间及类名关联起来,从而允许用户控件和自定义服务器控件在被
包括到请求的页或用户控件时呈现。
@ Assembly 以声明的方式将程序集链接到当前页或用户控件。
@ OutputCache 以声明的方式控制页或用户控件的输出缓存策略。
@ Reference 以声明的方式将页或用户控件链接到当前页或用户控件。
ASP.NET
将不包含显式指令名的任何指令块 (<%@ %>)
都当做 @ Page 指令(用于页)或
@ Control 指令(用于用户控件)处理。
@ Page 常见属性
AspCompat
当设为 true
时,允许在单线程单元 (STA)
线程上执行页。这允许页调用 STA 组件,例如用
Microsoft Visual Basic 6.0
开发的组件。将该属性设为 true
还允许页调用 COM+ 1.0 组件,
该组件要求可以访问非托管 Active Server Pages (ASP)
内置对象。通过 ObjectContext 对
象或 OnStartPage
方法可以访问它们。默认值为 false。
注意
将该属性设为 true 可能导致页的性能降低。有关详细信息,请参见备注部分。
AutoEventWireup
指示页的事件是否自动连网。如果启用事件自动连网,则为 true
;否则为 false。默认值为
true
。有关更多信息,请参见 Web 服务器控件事件模型。
Buffer
确定是否启用 HTTP
响应缓冲。如果启用页缓冲,则为 true
;否则为 false。默认值为
true。
ClassName
指定在请求时将自动进行动态编译的页的类名。该值可以是任何有效的类名,但不应包括命
名空间。
ClientTarget
指示 ASP.NET 服务器控件应该为其呈现内容的目标用户代理。该值可以是任何有效的用户代
理或别名。
CodeBehind
指定包含与页关联的类的已编译文件的名称。该属性由 Visual Studio .NET Web 窗体设计
器使用。设计器从该属性中获取页类的位置,以便创建页类的实例供您设计时使用。例如,
如果在 Visual Studio
中创建名为 WebForm1
的 Web
窗体页,对于 Visual Basic,设计器
将指定 Codebehind
属性值为 WebForm1.aspx.vb
,对于 C#
则为 WebForm1.aspx.cs。
该属性不能在运行时使用。
CodePage
指示响应的代码页值。
注意
如果创建 Web
窗体页时使用的代码页不是将运行该页的 Web 服务器上的默认代码页,
则必须设置此属性。输入的值应该是在其上创建该页的计算机的代码页。有关代码页的更多