文章目錄
- @Implements
- @Register
- @Assembly
- @PreviousPageType
- @MasterType
@Implements
@Implements指令允許ASP.NET頁面實現特定的.NET Framework介面。這個指令只支援一個Interface屬性。
Interface屬性直接指定了.NET Framework介面。ASP.NET頁面或使用者控制項實現一個介面時,就可以直接存取其中的所有事件、方法和屬性。
下面是@Implements指令的一個例子:
<%@ Implements Interface="System.Web.UI.IValidator" %>
@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" %>
@Assembly
@Assembly指令在編譯時間把程式集(.NET應用程式的構建塊)關聯到ASP.NET頁面或使用者控制項上,使該程式集中的所有類和介面都可用於頁面。這個指令支援兩個屬性Name和Src。
● Name:允許指定用於關聯分頁檔的程式集名稱。程式集名稱應只包含檔案名稱,不包含檔案的副檔名。例如,如果檔案是MyAssembly.vb,Name屬性值應是MyAssembly。
● Src:允許指定編譯時間使用的組件檔源。
下面是使用@Assembly指令的一些例子:
<%@ Assembly Name="MyAssembly" %>
<%@ Assembly Src="MyAssembly.vb" %>
@PreviousPageType
這個指令用於指定跨頁面的傳送過程起始於哪個頁面。在ASP.NET頁面之間的跨頁面傳送過程詳見後面的“跨頁面傳送”一節和第19章。
@PreviousPageType指令是一個新指令,用於處理ASP.NET 2.0提供的跨頁面傳送新功能。這個簡單的指令只包含兩個屬性TypeName和VirtualPath:
● TypeName:設定回送時的衍生類別名。
● VirtualPath:設定回送時所傳送頁面的地址。
@MasterType
@MasterType指令把一個類名關聯到ASP.NET頁面上,以獲得特定master頁面中包含的強型別化引用或成員。這個指令支援兩個屬性:
● TypeName:設定從中獲得強型別化的引用或成員的衍生類別名。
● VirtualPath:設定從中檢索這些強型別化的引用或成員的頁面地址。
使用@MasterType指令的細節請參閱第8章。下面是它的一個例子:
<%@ MasterType VirtualPath="~/Wrox.master" %>