最近看一篇好文章,摘抄下来。
原文出处:
http://www.cnblogs.com/zhaozhan/archive/2010/05/01/1725819.html
@Page指令位于每个ASP.NET页面的顶部,告诉ASP.NET这个具体页面使用什么属性,以及该页面继承的用户控件。ASP.NET页面@Page指令属性有:AspCompat、Async、AsyncTimeout、AutoEventWireup、Buffer、ClassName、ClientIDMode、CodeBehind、 CodeFile、CodeFileBaseClass、CodePage、CompilationMode 、ContentType、 CompilerOptions、Culture 、Debug、 EnableEventValidation、EnableSessionState、EnableTheming 、EnableViewState、 EnableViewStateMac 、ErrorPage 、Explicit、 Inherits、 Language、 LCID 、LinePragmas、MaintainScrollPositionOnPostback、 MasterPageFile、 MetaDescription 、MetaKeywords 、ResponseEncoding、Src、Strict、StylesheetTheme、Theme、Title、Trace 、TraceMode 、Transaction 、UICulture、 ValidateRequest、ViewStateEncryptionMode、ViewStateMode、WarningLevel。
AspCompat通过设置页面在单线程单元中运行,使得ASP.NET页面能够访问传统的COM对象。ASP.NET页面默认是在多线程单元(MTA)中运行。当启用AspCompant模式时,设置ASP.NET在单线程单元(STA)中运行页面,以便它能够安全地与COM对象交互。AspCompat设置为true会影响性能。默认为false。
Async使页面成为异步处理程序,即导致页使用IHttpAsyncHandler的实现来处理请求,默认为false。
AsyncTimeout定义在处理异步任务时使用的超时的时间间隔(以秒为单位)。默认为45秒。
AutoEventWireup指示页面的事件是否自动绑定。如果启用了事件的自动绑定,则为true;否则为false。默认值为true。
Buffer确定是否启用HTTP响应缓冲。如果启用页面缓冲为true;否则为false。默认为true。
ClassName指定在请求该页面时将自动进行动态编译的页的类名。此值可以是任何有效的类名,并且可以包括类的完整命名空间。如果未指定该属性的值,则已编译的类名将基于页的文件名。其他页可以通过使用 @ Reference 指令来引用分配给第一页的类名。
ClientTarget指示 ASP.NET 服务器控件应该为其呈现内容的目标用户代理(通常是 Web 浏览器,例如 Microsoft Internet Explorer)。该值可以是应用程序配置文件的 <clientTarget> 节中定义的任何有效别名。
CodeBehind指定包含与页关联的类的已编译文件的名称。该属性不能在运行时使用。提供此属性是为了与以前版本的 ASP.NET 的兼容,以实现代码隐藏功能。在 ASP.NET 2.0 版中,应改用 CodeFile 属性指定该源文件的名称,同时使用 Inherits 属性指定该类的完全限定名称。
CodeFile指定指向页引用的代码隐藏文件的路径。此属性与 Inherits 属性一起使用可以将代码隐藏源文件与网页相关联。此属性仅对编译的页有效。
CodeFileBaseClass指定页的基类及其关联的代码隐藏类的路径。此属性是可选的,但如果使用此属性,则必须同时使用 CodeFile 属性。如果希望实现以下共享方案,可使用该属性:在该共享方案中,您在基类中定义通用字段(可以选择性地定义关联事件)以引用在网页中声明的控件。出于 ASP.NET 代码生成模型的缘故,如果您在基类中定义字段时没有使用该属性,则编译时将为在网页中(在单独的分部类存根中)声明的控件生成新的成员定义,而您希望的方案将无法生效。但是,如果您使用 CodeFileBaseClass 属性将基类与页相关联,并且您的分部类(其名称分配给 Inherits 属性,并且其源文件由 CodeFile 属性引用)是从该基类继承的,则该基类中的字段在代码生成之后将能够引用页上的控件。
CodePage指示用于响应的编码方案的值。该值是一个用作编码方案 ID 的整数。有关可能的 CodePage ID 的列表,请参见 Encoding 类。
CompilationMode设置是否应使用指定多个枚举选项之一的字符串来编译页。默认值为 Always,因此,默认情况下编译 .aspx 页。包含用于编译页的编译器选项的字符串。在 C# 和 Visual Basic 中,这是编译器命令行开关的序列。有关编译器选项的更多信息,请参见 C# 编译器选项或 Visual Basic 编译器。
ContentType将响应的 HTTP 内容类型定义为标准的 MIME 类型。
CompilerOptions支持任何有效的 HTTP 内容类型字符串。有关可能值的列表,请在 MSDN Library 中搜索 MIME。Culture指示页的区域性设置。该属性的值必须是有效的区域性 ID。注意,LCID 和 Culture 属性是互相排斥的;如果使用了其中一个属性,就不能在同一页中使用另一个属性。
Culture动态生成的类将设置此属性的值。此外,还可以通过编程方式或在 Web.config 文件的 globalization 元素(ASP.NET 设置架构) 中显式设置 Culture 属性的值。Culture 属性用于帮助本地化页内容。可以将其设置为任何有效的区域性 ID。例如,en-us 区域性 ID 将页设置为美国英语,而
fr 区域性 ID 将页设置为法语。还可以将该值设置为 auto,从而自动检测浏览器的首选语言并设置该语言。可以用默认值(如 auto:en-us)限定自动语言检测。
Debug指示是否应使用调试符号编译该页。如果应使用调试符号编译该页,则为 true;否则为 false。由于此设置影响性能,因此只应在开发期间将此属性设置为 true。
EnableEventValidation在回发方案中启用事件验证。如果验证事件,则为 true;否则为 false。默认值为 true。
EnableSessionState定义页的会话状态要求。如果启用了会话状态,则为 true;如果可以读取会话状态但不能进行更改,则为 ReadOnly;否则为 false。默认值为 true。这些值是不区分大小写的。
EnableTheming指示是否在页上使用主题。如果使用主题,则为 true;否则为 false。默认值为 true。
EnableViewState指示是否在页请求之间保持视图状态。如果要保持视图状态,则为 true;否则为 false。默认值为 true。
EnableViewStateMac指示当页从客户端回发时,ASP.NET 是否应该对页的视图状态运行计算机身份验证检查 (MAC)。如果应该对视图状态运行 MAC 检查,则为 true;否则为 false。默认值为 false。视图状态 MAC 是隐藏变量的加密版本,当某页被发送到浏览器时,该页的视图状态永久保持到该变量中。当您将此属性设置为 true 时,将检查加密的视图状态以验证它在客户端未被篡改。注意,将此属性设置为 true 会影响性能,因为在页的每次往返行程中,都必须加密和解密变量值。
ErrorPage定义在出现未处理页异常时用于重定向的目标 URL。
Explicit确定是否使用 Visual Basic Option Explicit 模式来编译页。如果启用了 Visual Basic 显式编译选项,且所有变量必须使用 Dim、Private、Public 或 ReDim 语句来声明,则为 true;否则为 false。默认值为 false。除了 Visual Basic,所有其他语言都忽略该属性。此外,该选项在 Machine.config 配置文件中被设置为 true。
Inherits定义供页继承的代码隐藏类。它可以是从 Page 类派生的任何类。它与 CodeFile 属性(包含指向代码隐藏类的源文件的路径)一起使用。
Language指定在对页中的所有内联呈现(<% %> 和 <%= %>)和代码声明块进行编译时使用的语言。值可以表示任何 .NET Framework 支持的语言,包括 Visual Basic、C# 或 JScript。每页只能使用和指定一种语言。
LCID定义 Web 窗体页的区域设置标识符。区域设置标识符是一个 32 位值,该值唯一地定义某个区域设置。除非您使用该属性为 Web 窗体页指定不同的区域设置,否则 ASP.NET 使用 Web 服务器默认的区域设置。注意,LCID 和 Culture 属性是互相排斥的;如果使用了其中一个属性,就不能在同一页中使用另一个属性。
LinePragmas确定运行库是否应在源代码中生成行杂注。这些是编译器选项,调试工具通常使用这些选项来标记源文件中的特定位置。如果应该生成行杂注,则为 true;否则为 false。
MaintainScrollPositionOnPostback指示在回发后是否将用户返回到客户端浏览器中的同一位置。如果应该将用户返回到同一位置,则为 true;否则为 false。默认值为 false。开发人员可以通过设置 Web.config 文件的 <pages> 元素上的 maintainScrollPostitionOnPostback 属性(注意,此属性在配置文件中是区分大小写的),为所有页定义该属性。
MasterPageFile设置内容页的母版页或嵌套母版页的路径。支持相对路径和绝对路径。
MetaDescription为ASP.NET4.0新增为页面的SEO优化,指定在响应的 HTML <Meta> 标记中呈现的页的描述。也可以通过编程方式将描述作为页的属性来访问。
MetaKeywords也是ASP.NET4.0新增的为SEO优化,指定在响应的 HTML <Meta> 标记中呈现的页的Keywords。也可以通过编程方式将描述作为页的属性来访问。
ResponseEncoding指示用于包含页内容的 HTTP 响应的编码方案的名称。分配给该属性的值是有效的编码名称。有关可能的编码名称的列表,请参见 Encoding 类。您也可以调用 GetEncodings 方法来获取可能的编码名称和 ID 的列表。
Src指定包含链接到页的代码的源文件的路径。在链接的源文件中,可以选择将页的编程逻辑包含在类中或代码声明块中。可以使用 Src 属性将生成提供程序链接到页。有关更多信息,请参见 BuildProvider 类。另外,在低于 2.0 版的 ASP.NET 中,Src 属性是另一种将代码隐藏文件链接到页的方法。在 ASP.NET 2.0 中,将代码隐藏源文件链接到页的首选方法是使用 Inherits 属性来指定类,并使用 CodeFile 属性来指定该类的源文件的路径。
Strict指示应使用 Visual Basic OptionStrict 模式来编译页。如果启用了 Option Strict,则为 true;否则为 false。默认值为 false。除了 Visual Basic,所有其他语言都忽略该属性。
StyleSheetTheme指定在页上使用的有效主题标识符。如果设置了 StyleSheetTheme 属性,则单独的控件可以重写主题中包含的样式设置。这样,主题可以提供站点的整体外观,同时,利用 StyleSheetTheme 属性中包含的设置可以自定义页及其各个控件的特定设置。
Theme指定在页上使用的有效主题标识符。如果设置 Theme 属性时没有使用 StyleSheetTheme 属性,则将重写控件上的单独的样式设置,允许您创建统一而一致的页外观。
Title指定在响应的 HTML <title> 标记中呈现的页的标题。也可以通过编程方式将标题作为页的属性来访问。
Trace指示是否启用跟踪。如果启用了跟踪,则为 true;否则为 false。默认值为 false。
TraceMode指示当启用跟踪时如何为页显示跟踪消息。可能的值为 SortByTime 和 SortByCategory。当启用跟踪时,默认值为 SortByTime。
Transaction指示在页上是否支持事务。可能的值有 Disabled、NotSupported、Supported、Required 和 RequiresNew。默认值为 Disabled。
UICulture指定用于页的用户界面 (UI) 区域性设置。支持任何有效的 UI 区域性值。
ValidateRequest指示是否应发生请求验证。如果为 true,请求验证将根据具有潜在危险的值的硬编码列表检查所有输入数据。如果出现匹配情况,将引发 HttpRequestValidationException 异常。默认值为 true。该功能在计算机配置文件 (Machine.config) 中启用。可以在应用程序配置文件 (Web.config) 中或在页上将该属性设置为 false 来禁用该功能。该功能有助于减少对简单页或 ASP.NET 应用程序进行跨站点脚本攻击的风险。如果应用程序不能正确验证用户输入,则可能会受到多种类型的格式错误的输入的攻击,包括跨站点脚本攻击和 Microsoft SQL Server 注入式攻击。应该仔细地评估应用程序中所有形式的输入,并确保对它们进行了正确地验证和编码,或者确保应用程序在处理数据或将信息发送回客户端之前已退出。除此之外,别无它法。
ViewStateEncryptionMode使用三个可能的枚举值来确定如何加密视图状态:Auto、Always 或 Never。默认值为 Auto,表示如果单个控件请求进行加密,将加密视图状态。
ViewStateMode这个属性可以单独设置控件的视图状态。在以前版本的 ASP.NET 中,控件的视图只有在 Page 的 ViewState 启用的前提下才可以单独控制。在 ASP.NET4.0 中,控件的视图状态可以单独设置了,也就是说,即使页面的视图状态没有启用,控件依然可以启用视图状态。
ViewStateMode 属性是个枚举值:InheritL:视图状态从父控件继承;Enabled:即使父控件的视图状态没有启用,也启用该控件的视图状态;Disabled:即使父控件的视图状态启用了,也禁用此控件的视图状态。
WarningLevel指示您希望编译器将警告视为错误(从而中止对页进行编译)的编译器警告等级。可能的警告等级为 0 到 4。有关更多信息,请参见 WarningLevel 属性。