ASP.NET指令簡介

  

ASP.NET指令是以字符“@”開頭。分析器或編譯器在分析或編譯頁(包括窗體頁和母版頁)、用戶控件或其他資源文件時,頁、控件或文件可以通過ASP.NET指令指定編譯器的屬性。當分析器或編譯器在處理頁、控件或文件時,這些設置生效。通常,這些指令需要包含在頁、控件或文件的開頭處。每個指令都可以包含一個或多個屬性(與值成對出現)。

1頁指令==========@Page

分析器或編譯器在分析或編譯頁時,可以通過@Page指令設置分析器和編譯器的屬性。該指令只能包含在文件擴展名爲.aspx的文件中,聲明其語法如下:

<%@ Page attribute="value" [attribute="value"...] %>

@Page指令只能使用在Web窗體頁(.aspx)中,且每個頁只能包含一條@Page指令。當Web窗體頁使用該指令時,它至少要包含一個屬性。

2用戶控件指令=========@Control

分析器或編譯器在分析或編譯用戶控件(.ascx)時,可以通過@Control指令設置分析器和編譯器的屬性。該指令只能在用戶控件上使用,且一個用戶控件只能包含一條@Control指令。聲明@Control指令的語法如下:

<%@ Control attribute="value" [attribute="value" ... ] %>

3註冊指令==================@Register

@Register指令提供了引用用戶控件或自定義控件的方法,並引用這些控件的文件(頁或者控件)能夠使用被引用的控件。換句話說,該指令創建一個標記前綴,實現被引用的控件和其引用文件之間的關聯。最終,使得控件能夠在其引用文件中呈現出來。

4引用指令===============@Reference

@Reference指令將指定的頁或用戶控件鏈接到當前頁或用戶控件,即在指定的頁或用戶控件和當前頁或用戶控件之間建立動態連接。聲明該指令的語法如下:

<%@ Reference Page="頁的路徑"

Control="用戶控件的路徑"

virtualPath="文件的虛擬路徑" %>

5母版頁指令==========@Master

分析器或編譯器在分析或編譯母版頁(.master)時,可以通過@Master指令設置分析器和編譯器的屬性。該指令只能在母版頁上使用,且一個母版頁只能包含一條@Master指令。聲明@Master指令的語法如下:

<%@ Master attribute="value" [attribute="value"...] %>

6母版頁類型指令=============@MasterType

@MasterType指令提供創建對該母版頁(.master)的強類型引用的方法。聲明該指令的語法如下:

<%@ MasterType attribute="value" [attribute="value"...] %>

@MasterType指令包含兩個屬性:TypeNameVirtualPath。其中,TypeName屬性指定母版頁的類型的名稱;VirtualPath屬性指定生成強類型引用的文件的路徑,它的值爲相對路徑。

7上一頁類型指令=======@PreviousPageType

@PreviousPageType指令提供了獲取上一頁(當前頁的Page對象的PreviousPage屬性的值)的強類型的方法。它只能使用在Web窗體頁(.aspx)上,聲明該指令的語法如下:

<%@ PreviousPageType attribute="value" [attribute="value"...] %>

@PreviousPageType指令包含兩個屬性:TypeNameVirtualPath。其中,TypeName屬性指定上一頁的類型的名稱;VirtualPath屬性指定生成強類型引用的文件的路徑,它的值爲相對路徑。一般情況下,TypeNameVirtualPath屬性不能同時使用。下面的代碼示例設置了生成強類型的文件的VirtualPath屬性的值爲“~/OtherPreviousPageType.aspx”。

<%@ PreviousPageType VirtualPath="~/OtherPreviousPageType.aspx" %>

8輸出緩衝指令============@OutputCache

@OutputCache指令設置Web窗體頁或用戶控件的輸出緩存策略。

9導入指令==========@Import

@Import指令將命名空間導入到文件中,使得該文件可以使用導入的命名空間中的類和接口。它不但可以導入.NET框架類庫中的命名空間,而且可以導入用戶自定義的命名空間。聲明該指令的語法如下:

<%@ Import namespace="value" %>

10程序集指令===========@Assembly

@Assembly指令將程序集(.dll)鏈接到當前頁,使得當前頁可以使用程序集中的類和接口。聲明該指令的語法如下:

<%@ Assembly Name="assemblyname" %>

<%@ Assembly Src="pathname" %>

11執行指令=====@Implements

@Implements指令指定當前文件(如Web窗體頁、用戶控件等)需要實現的.NET框架類庫中的接口。如果用戶在文件中需要實現接口時,用戶必須在<script>標記中實現接口所需要的方法和屬性。若文件需要實現多個接口,則可以在該文件上多次使用@Implements指令。@Implements指令只包含一個屬性:interface。該屬性表示當前文件需要實現的接口的名稱。聲明@Implements指令的語法如下:

<%@ Implements interface="MyValidInterfaceName" %>

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章