@Implements指令允许ASP.NET页面实现特定的.NET Framework接口。这个指令只支持一个Interface属性。
Interface属性直接指定了.NET Framework接口。ASP.NET页面或用户控件实现一个接口时,就可以直接访问其中的所有事件、方法和属性。
下面是@Implements指令的一个例子:
<%@ Implements Interface="System.Web.UI.IValidator" %>
3.3.6 @Register
@Register指令把别名与命名空间和类名关联起来,作为定制服务器控件语法中的记号。把一个用户控件拖放到.aspx页面上时,就使用了@Register指令。把用户控件拖放到.aspx页面上,Visual Studio 2005就会在页面的顶部创建一个@Register指令。这样就在页面上注册了用户控件,该控件就可以通过特定的名称在.aspx页面上访问了。
@Register指令支持5个属性,如表3-7所示。
表 3-7
属 性 | 说 明 |
Assembly | 与TagPrefix关联的程序集 |
Namespace | 与TagPrefix关联的命名空间 |
Src | 用户控件的位置 |
TagName | 与类名关联的别名 |
TagPrefix | 与命名空间关联的别名 |
下面是使用@Register指令把用户控件导入ASP.NET页面的一个例子:
<%@ Register TagPrefix="MyTag" Namespace="MyName:MyNamespace"
Assembly="MyAssembly" %>
3.3.7 @Assembly
@Assembly指令在编译时把程序集(.NET应用程序的构建块)关联到ASP.NET页面或用户控件上,使该程序集中的所有类和接口都可用于页面。这个指令支持两个属性Name和Src。
● Name:允许指定用于关联页面文件的程序集名称。程序集名称应只包含文件名,不包含文件的扩展名。例如,如果文件是MyAssembly.vb,Name属性值应是MyAssembly。
● Src:允许指定编译时使用的程序集文件源。
下面是使用@Assembly指令的一些例子:
<%@ Assembly Name="MyAssembly" %>
<%@ Assembly Src="MyAssembly.vb" %>
3.3.8 @PreviousPageType
这个指令用于指定跨页面的传送过程起始于哪个页面。在ASP.NET页面之间的跨页面传送过程详见后面的“跨页面传送”一节和第19章。
@PreviousPageType指令是一个新指令,用于处理ASP.NET 2.0提供的跨页面传送新功能。这个简单的指令只包含两个属性TypeName和VirtualPath:
● TypeName:设置回送时的派生类名。
● VirtualPath:设置回送时所传送页面的地址。
3.3.9 @MasterType
@MasterType指令把一个类名关联到ASP.NET页面上,以获得特定master页面中包含的强类型化引用或成员。这个指令支持两个属性:
● TypeName:设置从中获得强类型化的引用或成员的派生类名。
● VirtualPath:设置从中检索这些强类型化的引用或成员的页面地址。
使用@MasterType指令的细节请参阅第8章。下面是它的一个例子:
<%@ MasterType VirtualPath="~/Wrox.master" %>