### 页面指令

ASP.NET 2.0 页面中的前几行，一般是<%@…%>这样的代码，这叫做页面的指令。用来定义 ASP.NET 页分析器和编译器使用的特定于该页的一些定义。在.aspx 文件中使用的页面指令一般有以下几种。

#### 1．<%@Page%>

<%@Page%>指令可定义 ASP.NET 页分析器和编译器使用的属性，一个页面只能有一个这样的指令。

#### 2．<%@Import Namespace=“Value”%>

<%@Import Namespace=“Value”%>指令可将命名空间导入到 ASP.NET 应用程序文件中，一个指令只能导入一个名称空间，如果要导入多个名称空间，请使用多个指令来进行。下面的名称空间是 ASP.NET 2.0 默认导入的，没有必要再重复导入：System、System.Collections、System.Collections.Specialized、System.Configuration、System.Text、System.Web、System.Text.RegularExpressions、System.Web.Caching、System.Web.Profile、System.Web.Security、System.Web.SessionState、System.Web.UI、System.Web.UI、System.Web.UI.HtmlControls、System.Web.UI.WebControls、System.Web.UI.WebControls.WebParts。

#### 3．<%@OutputCache%>

<%@OutputCache%>指令可设置页或页中包含的用户控件的输出缓存策略。

#### 4．<%@Implements Interface=“接口名称”%>

<%@Implements Interface=“接口名称”%>指令用来定义要在页或用户控件中实现的接口。

#### 5．<%@Register%>

<%@Register%>指令用于创建标记前缀和自定义控件之间的关联关系。有 3 种写法：

<%@ Register tagprefix="tagprefix" namespace="namespace" assembly="assembly" %>

<%@ Register tagprefix="tagprefix" namespace="namespace" %>

<%@ Register tagprefix="tagprefix" tagname="tagname" src="pathname" %>

tagprefix：提供对包含指令的文件中所使用的标记的命名空间的短引用的别名。

Namespace：正在注册的自定义控件的命名空间。

Tagname：与类关联的任意别名。此属性只用于用户控件。

Src：与 tagprefix:tagname 对关联的声明性用户控件文件的位置，可以是相对的地址，也可以是绝对的地址。

Assembly：与 tagprefix 属性关联的命名空间的程序集。程序集名称不包括文件扩展名。如果将自定义控件的源代码文件放置在应用程序的 App_Code 文件夹下，ASP.NET 2.0 在运行时会动态编译源文件，因此不必使用 assembly 属性。