概述
ASP.NET 页通常包含一些指令,这些指令允许您为相应页指定页属性和配置信息。这些指令由ASP.NET 用作处理页面的指令,但不作为发送到浏览器的标记的一部分呈现。
主要种类
asp.net支持的指令有11种,这里简要介绍,常用的3种,即:
Ø @ Page、@ Import、@ Register
主要介绍它们的作用及常用属性
介绍
一、 @ Page
作用:定义 ASP.NET 页分析器和编译器使用的页特定(.aspx 文件)属性,该指令允许您为页面指定多个配置选项,包括:
Ø 页面中代码的服务器编程语言。
Ø 页面是将服务器代码直接包含在其中(称为单文件页面),还是将代码包含在单独的类文件中(称为代码隐藏页面)。
Ø 调试和跟踪选项。
Ø 页面是否具有关联的母版页,是否应据此将其视为内容页。
语法:<%@Page attribute="value" [attribute="value"...] %>
主要属性:
1. Language:指定在对页中的所有内联呈现(<% %> 和 <%= %>)和代码声明块进行编译时使用的语言。值可以表示任何 .NET Framework 支持的语言,包括 Visual Basic、C# 或 JScript。每页只能使用和指定一种语言。
2. AutoEventWireup:指示页的事件是否自动绑定。如果启用了事件自动绑定,则为 true;否则为 false。默认值为 true。
3. CodeFile:指定指向页引用的代码隐藏文件的路径。此属性与 Inherits(定义供页继承的代码隐藏类) 属性一起使用可以将代码隐藏源文件与网页相关联。此属性仅对编译的页有效。
4. Debug:指示是否应使用调试符号编译该页。如果应使用调试符号编译该页,则为 true;否则为 false。由于此设置影响性能,因此只应在开发期间将此属性设置为 true。
5. Async:使页成为异步处理程序(即,导致页使用 IHttpAsyncHandler 的实现来处理请求)。默认值为 false。
6. AsyncTimeOut:定义在处理异步任务时使用的超时时间间隔(以秒为单位)。默认值为 45 秒。该值必须是整数。
二、 @ Import
作用:将命名空间显式导入到ASP.NET 应用程序文件(如网页、用户控件、母版页或Global.asax 文件)中,使导入的命名空间的所有类和接口可用于文件。
语法:<%@ Import namespace="value" %>
属性:namespace:要导入的命名空间的。这可以包括任何包含在 .NET Framework 中的命名空间或自定义命名空间。
注意:
Ø @ Import 指令不能有多个namespace 属性。若要导入多个命名空间,请使用多条 @Import 指令。
Ø 可以将一组命名空间自动导入到 .aspx 页中。导入的命名空间在计算机级别的 Web.config 文件中定义,具体位置为 <pages> 元素的 <namespaces> 节内。
三、 @ Register
作用:为开发人员提供了一种在ASP.NET 应用程序文件(包括网页、用户控件和母版页)中引用自定义控件的简明方法。把用 户控件拖放到.aspx页面上,VS就会在页面的顶部创建一个@Register指令。这样就在页面上注册了用户控件,该控件就可以通过特定的名称在.aspx页面上访问了。
语法:
Ø <%@Register tagprefix="tagprefix"namespace="namespace" assembly="assembly" %>
Ø <%@ Register tagprefix="tagprefix" namespace="namespace" %>
Ø <%@Register tagprefix="tagprefix" tagname="tagname" src="pathname" %>
属性:
Assembly:与TagPrefix关联的程序集,即DLL
Namespace:与TagPrefix关联的命名空间
Src:用户控件的位置
TagName:与类名关联的别名
TagPrefix:与命名空间关联的别名
举例:
Ø 当一个TextBox被拖放到Web页面上时,Web页面中会增加以下代码:<asp:TextBoxid="TextBox1" runat="server"></asp:TextBox>
Ø 当一个第三方控件比如IEWebControl被拖放到Web页面上时,Web页面中会增加以下代码:<%@RegisterTagPrefix="iewc"Namespace="Microsoft.Web.UI.WebControls " Assembly="Microsoft.Web.UI.WebControls"%>
上面的HTML中的“asp”即是服务器控件的TagPrefix
总结
Ø 当使用指令时,虽然标准的做法是将指令包括在文件的开头,但是它们可以位于 .aspx 或 .ascx 文件中的任何位置。每个指令都可以包含一个或多个特定于该指令的属性(与值成对出现)。
Ø 最近也是由于需要,才去简单了解这些东西,不懂得东西太多,也是一点一点在啃食。