理论教育 ASP.NET页面指令:详解

ASP.NET页面指令:详解

时间:2023-11-01 理论教育 版权反馈
【摘要】:ASP.NET解析程序将忽略该参数的值。一条@Import指令可以导入一个命名空间,ASP.NET页面中可以使用多条@Import指令。这条指令指定ASP.NET在特定时间内的缓存页面结果。该指令以声明方式将自定义的ASP.NET服务器控件添加到页面上,为自定义控件和用户控件定义了别名、标记和其他的参数,以减少自定义服务器控件语法中的文档说明。

ASP.NET页面指令:详解

页面指令在程序的设计过程中十分有用。本节将介绍几种常用的页面指令,这些指令是通过诸如HTML这样的标记语言来实现的。然而,它们都使用@符号,因此并非真正意义上的HTML,而是页面级的伪指令。这些标记通常位于ASP.NET页面的顶部,实际上它们可以位于页面上的任何地方。

(1)@Assembly指令。这条指令标识连接到页面的其他部件。它在编译期间将部件连接到当前的页面,并且在页面上可以使用部件的所有类和接口。它的语法形式如下:

其中,Name参数是一个表示连接到页面的部件名称的字符串。需要注意的是,这个名称不包含文件路径或者扩展名。Src参数指定到源文件的路径,以便再次动态编译和链接文件。

需要提请注意的是,上述两个参数在同一条@Assembly指令中不能同时出现。

(2)@Control指令。该指令定义在页面上包含和编译用户控件所用的属性。该指令不仅包含另一个文件提供的功能,而且可以编写代码处理控件中声明的任何属性。由于该指令可以使用用户控件文件,所以@Control指令的功能几乎和稍后介绍的@Page指令的功能一样强大。其语法形式如下:

其中,Language指定在编译所有内联视图时所用的代码语言,其有效值包括.NET支持的任何语言。EnableViewState说明是否在多个页面请求期间保存视图状态。@Control指令还包含如下几个常用的参数:

● AutoEventWireup:该参数指出是否自动执行页面的事件。

● ClassName:该参数指定在请求页面时为页面自动编译的类名称。

● CompilerOptions:为页面提供编译选项。

● Debug:该参数表示是否使用调试符号来编译页面。

● Description:该参数为页面提供文本说明。ASP.NET解析程序将忽略该参数的值。

● Inherits:定义当前页面将继承的页面,其值可以是从Page类派生的任何类。

● Src:指定在请求页面时动态编译的源代码类的文件名。

(3)@Implements指令。这条指令说明当前页面将实现具体的.NET框架接口,一旦实现了这个接口,页面就可以在<Script>与</Script>标记之间访问所实现接口的接口元素。该指令的语法形式如下:

其中Interface参数指明在页面上实现的接口。

(4)@Import指令。这条指令从.NET类库或用户自定义的命名空间导入命名空间。它的语法形式如下:

其中NameSpace参数用于指定命名空间的名称。一条@Import指令可以导入一个命名空间,ASP.NET页面中可以使用多条@Import指令。

此外,下列命名空间无需使用@Import指令,即可自动导入到ASP.NET页面中:System、System.Collections、System.Collections.Specialized、System.Configuration、System.IO、System.Text、System.Text.RegularExpressions、System.Web、System.Web.Caching、System.Web.Security、System.Web.SessionState、System.Web.UI、System.Web.UI.HtmlControls和System.Web.UI.WebControls。(www.daowen.com)

(5)OutputCache指令。这条指令指定ASP.NET在特定时间内的缓存页面结果。如果要输出缓存ASP.NET页面或者用户控件,则需要使用这个控件。

页面输出缓存将指定页面的完整内容存储在缓存中,当再次请求该页面时,直接从内存中静态提供页面,而不必再执行ASP.NET页面,从而可以保存工作,并大大提高性能。该指令的语法形式如下:

其中,Duration参数指定了页面或页面元素保存在缓存中的时间,单位为秒。VaryParam参数允许根据HTTPGET或者发送给服务器的POST数据来缓存页面的不同形式。

(6)@Page指令。这条指令定义页面属性。ASP.NET页面分析程序和编译程序使用这些属性来编译ASP.NET页面。要注意的是,这条指令只能在ASPX文件中使用,其语法形式如下:

其中Buffer参数指定是否启用HTTP响应缓冲。Language指定在编译所有内联视图时所用的代码语言,其有效值包括.NET支持的任何语言。

@Page指令的参数远不止以上两个,常用的参数可以参见@Control的参数说明,此外还有如下几个:

● ContentType:该参数作为标准MIME类型,定义页面响应的HTTP内容类型。

● ErrorPage:当出现无法处理的页面异常时,页面重定向到该参数定义的目标URL。

● EnableSessionState:指定页面访问会话状态的方式。

● EnableViewStateMac:确定是否用MAC检查页面的视图状态。

● Explicit:指定是否用VB Option Explicit模式编译页面,默认值为false。

● WarningLevel:指定编译器在什么警告级别上放弃编译页面。

(7)@Reference指令。该指令指出在运行时将要动态编译另一个用户控件或者页面源文件,并链接到当前页面上,然后将其添加到ControlCollection对象上。随后通过页面或者服务器控件的Control属性就可以访问元素。其语法形式如下:

其中Control参数指定用户控件。

(8)@Register指令。该指令以声明方式将自定义的ASP.NET服务器控件添加到页面上,为自定义控件和用户控件定义了别名、标记和其他的参数,以减少自定义服务器控件语法中的文档说明。其语法形式如下:

其中TagPrefix参数指定了与命名空间相关的别名。TagName参数表示与类相关的别名。Src参数表示与TagPrefix:TagName相关的用户控件,或者用户自定义控件的相对或者绝对位置。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈