ASP.NET指令在每个ASP.NET页面中都有。使用这些指令可以控制ASP.NET页面的行为。下面是Page指令的一个例子:
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb"
Inherits="_Default" %>
在ASP.NET页面或用户控件中有11个指令。无论页面是使用后台编码模型还是内置编码模型,都可以在应用程序中使用这些指令。
基本上,这些指令都是编译器编译页面时使用的命令。把指令合并到页面中是很简单的。指令的格式如下:
<%@ [Directive] [Attribute=Value] %>
在上面的代码行中,指令以<%@开头,以%>结束。最好把这些指令放在页面或控件的顶部,因为开发人员传统上都把指令放在那里(但如果指令位于其他地方,页面仍能编译)。当然,也可以把多个属性添加到指令语句中,如下所示:
<%@ [Directive] [Attribute=Value] [Attribute=Value] %>
表3-3描述了ASP.NET 2.0中的指令:
表 3-3
指 令
|
说 明
|
Assembly
|
把程序集链接到与它相关的页面或用户控件上
|
Control
|
用户控件(.ascx)使用的指令,其含义与Page指令相当
|
Implements
|
实现指定的.NET Framework接口
|
Import
|
在页面或用户控件中导入指定的命名空间
|
Master
|
允许指定master页面—— 在解析或编译页面时使用的特定属性和值。这个指令只能与master页面(.master)一起使用
|
MasterType
|
把类名与页面关联起来,获得包含在特定master页面中的强类型化的引用或成员
|
OutputCache
|
控制页面或用户控件的输出高速缓存策略
|
Page
|
允许指定在解析或编译页面时使用的页面特定属性和值。这个指令只能与ASP.NET页面(.aspx)一起使用
|
PreviousPageType
|
允许ASP.NET页面处理应用程序中另一个页面的回送信息
|
Reference
|
把页面或用户控件链接到当前的页面或用户控件上
|
Register
|
给命名空间和类名关联上别名,作为定制服务器控件语法中的记号
|
下面几节简要介绍这些指令。
3.3.1 @Page
@Page指令允许为ASP.NET页面(.aspx)指定解析和编译页面时使用的属性和值。这是最常用的指令。ASP.NET页面是ASP.NET的一个重要部分,所以它有许多属性。表3-4总结了@Page指令的可用属性。
表 3-4
属 性
|
说 明
|
AspCompat
|
若其值为True,就允许页面在单线程的单元中执行,这个属性的默认设置是False。
|
Async
|
指定ASP.NET页面是同步或异步处理
|
AutoEventWireUp
|
设置为True时,指定页面事件自动触发。这个属性的默认设置是True
|
Buffer
|
设置为True时,支持HTTP响应缓存。这个属性的默认设置是True
|
ClassName
|
指定编译页面时绑定到页面上的类名
|
CodeFile
|
引用与页面相关的后台编码文件
|
CodePage
|
指定响应的代码页面值
|
CompilerOptions
|
编译器字符串,指定页面的编译选项
|
CompileWith
|
包含一个String值,指向所使用的后台编码文件
|
ContentType
|
把响应的HTTP内容类型定义为标准MIME类型
|
Culture
|
指定页面的文化设置。ASP.NET 2.0允许把Culture 属性的值设置为Auto ,支持自动检测需要的文化
|
Debug
|
设置为True时,用调试符号编译页面
|
Description
|
提供页面的文本描述。ASP.NET解析器忽略这个属性及其值
|
EnableSessionState
|
设置为True时,支持页面的会话状态,其默认设置是True
|
EnableTheming
|
设置为True时,页面可以使用主题。其默认设置是False.
|
EnableViewState
|
设置为True时,在页面中维护视图状态,其默认设置是True
|
EnableViewStateMac
|
设置为True时,当用户回送页面时,页面会在视图状态上进行机器范围内的身份验证,其默认设置是False
|
ErrorPage
|
为所有未处理的页面异常指定用于发送信息的URL
|
Explicit
|
设置为True时,支持Visual Basic的Explicit选项。其默认设置是False
|
Language
|
定义内置显示和脚本块所使用的语言
|
LCID
|
为Web Form的页面定义本地标识符
|
LinePragmas
|
Boolean值,指定得到的程序集是否使用行附注
|
MasterPageFile
|
带一个 String 值,指向页面所使用的master页面的地址。这个属性在内容页面中使用
|
MaintainScrollPositionOn
Postback |
带一个Boolean 值,表示在回送页面时,页面是位于相同的滚动位置上,还是在最高的位置上重新生成页面
|
PersonalizationProvider
|
带一个 String 值,指定把个性化信息应用于页面时所使用的个性化提供程序名
|
ResponseEncoding
|
指定页面内容的响应编码
|
(续表)
属 性
|
说 明
|
SmartNavigation
|
指定是否为功能更丰富的浏览器激活ASP.NET智能导航功能。它把回送信息返回到页面的当前位置,其默认值是False
|
Src
|
指向类的源文件,用于所显示的页面的后台编码
|
Strict
|
设置为True时,使用Visual Basic Strict模式编译页面,其默认值是False
|
Theme
|
使用ASP.NET 2.0的主题功能,把指定的主题应用于页面
|
Title
|
应用页面的标题。这个属性主要用于必须应用页面标题的内容页面,而不是应用master页面中指定内容的页面
|
Trace
|
设置为True时,激活页面跟踪,其默认值是False
|
TraceMode
|
指定激活跟踪功能时如何显示跟踪消息。这个属性的设置可以是SortByTime 或SortByCategory,默认设置是SortByTime
|
Transaction
|
指定页面上是否支持事务处理。这个属性的设置可以是NotSupported、Supported、Required和RequiresNew,默认设置是NotSupported
|
UICulture
|
UICulture 属性的值指定ASP.NET 页面使用什么UI Culture。 ASP.NET 2.0允许给UICulture属性使用Auto值,支持自动检测UICulture
|
ValidateRequest
|
设置为True时,根据一组潜在危险的值检查窗体输入值,帮助防止Web应用程序受到有害的攻击,例如JavaScript攻击。默认值是True
|
WarningLevel
|
指定停止编译页面时的编译警告级别,其值可以是0到4
|
下面是使用@Page指令的一个示例:
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb"
Inherits="_Default" %>
3.3.2 @Master
@Master指令非常类似于@Page指令,但@Master指令用于master页面(.master)。在使用@Master指令时,要指定和站点上的内容页面一起使用的模板页面的属性。内容页面(使用@Page指令建立)可以继承master页面上的所有master内容(在master页面上使用@Master指令定义的内容)。尽管这两个指令是类似的,但@Master指令的属性比@Page指令少。@Master指令的可用属性如表3-5所示。
表 3-5
属 性
|
说 明
|
AutoEventWireUp
|
设置为True时,指定master页面的事件是否自动触发。默认设置为True
|
ClassName
|
指定编译页面时绑定到master页面上的类名
|
CodeFile
|
引用与页面相关的后台编码文件
|
(续表)
属 性
|
说 明
|
CompilerOptions
|
编译字符串,表示master页面的编译选项
|
CompileWith
|
带一个String值,指向用于master页面的后台编码文件
|
Debug
|
设置为True时,用调试符号编译master页面
|
Description
|
提供master页面的文本描述。ASP.NET 解析器会忽略这个属性及其值
|
EnableTheming
|
设置为True时,表示master页面可以使用主题功能。其默认设置是False
|
EnableViewState
|
设置为True时,维护master页面的视图状态。其默认设置是True
|
Explicit
|
设置为True时,表示激活Visual Basic Explicit 选项。其默认设置是False
|
Inherits
|
指定master页面要继承的CodeBehind类
|
Language
|
定义内置显示和脚本块使用的语言
|
LinePragmas
|
Boolean值,指定得到的程序集是否使用行附注
|
MasterPageFile
|
带一个String值,指向master 页面所使用的master页面的地址。master页面可以使用另一个master页面,创建嵌套的master页面
|
Src
|
指向类的源文件,用于要显示的master页面的后台编码
|
Strict
|
设置为True时,使用Visual Basic Strict模式编译master页面。其默认设置是False
|
WarningLevel
|
指定停止编译页面时的编译警告级别,其值可以是0到4
|
下面是使用@Master指令的一个例子:
<%@ Master Language="VB" CodeFile="MasterPage1.master.vb"
AutoEventWireup="false" Inherits="MasterPage" %>
3.3.3 @Control
@Control指令类似于@Page指令,但@Control指令是在建立ASP.NET用户控件时使用的。@Control指令允许定义用户控件要继承的属性。这些属性值会在解析和编译页面时赋予用户控件。@Control指令的可用属性比@Page指令少,但其中有许多都可以在建立用户控件时进行需要的修改。表3-6详细介绍了这些可用属性。
表 3-6
属 性
|
说 明
|
AutoEventWireUp
|
设置为True时,指定用户控件的事件是否自动触发。默认设置为True
|
ClassName
|
指定编译页面时绑定到用户控件上的类名
|
CodeFile
|
引用与用户控件相关的后台编码文件
|
CompilerOptions
|
编译字符串,表示用户控件的编译选项
|
CompileWith
|
带一个String值,指向用于用户控件的后台编码文件
|
Debug
|
设置为True时,用调试符号编译用户控件
|
(续表)
属 性
|
说 明
|
|
Description
|
提供用户控件的文本描述。ASP.NET 解析器会忽略这个属性及其值
|
|
EnableTheming
|
设置为True时,表示用户控件可以使用主题功能。其默认设置是False
|
|
EnableViewState
|
设置为True时,维护用户控件的视图状态。其默认设置是True
|
|
Explicit
|
设置为True时,表示激活Visual Basic Explicit 选项。其默认设置是False
|
|
Inherits
|
指定用户控件要继承的CodeBehind类
|
|
Language
|