<%@ Register src="UserControl/UCCategoryTree.ascx" tagname="UCCategoryTree" tagprefix="uc1" %>
<%@ Register TagPrefix="webdiyer" Assembly="AspNetPager" Namespace="Wuqi.Webdiyer" %>
今天下一個分頁功能時,實例代碼中引用了以爲非常值得尊敬的牛人楊濤的AspNetPager分頁控件的DLL文件,這是一個編譯好的dll文件,功能很不錯,但對這種引用方式不是很明白,最後我找了一下面的解釋,講的很明瞭!
先附上今天的示例中的一段用於註冊控件代碼:
<%@ Register src="UserControl/UCCategoryTree.ascx" tagname="UCCategoryTree" tagprefix="uc1" %>
//注意,上面這句是引用一個用戶控件,將這個用戶控件註冊到當前頁面來使用,這裏面tagname屬性和src屬性一定是配對的,只寫了tagname值,沒有src就無法編譯通過。
<%@ Register TagPrefix="webdiyer" Assembly="AspNetPager" Namespace="Wuqi.Webdiyer" %>
//這是AspNetPager分頁控件的註冊語句
-----------------以下是網上找的解釋-----------------
<%@ Register tagprefix="tagprefix" Namespace="namespace" Assembly="assembly" %>
<%@ Register tagprefix="tagprefix" Tagname="tagname" Src="pathname" %>
屬性
tagprefix
與命名空間關聯的別名。
tagname
與類關聯的別名。
Namespace
與 tagprefix 關聯的命名空間。
Src
與 tagprefix:tagname 對關聯的聲明性用戶控件文件的位置(相對的或絕對的)。
Assembly
與 tagprefix 關聯的命名空間所駐留的程序集。
注意 程序集名稱不包括文件擴展名。
備註
如果在頁或用戶控件中包含 @ Register 指令,則可以使用聲明性自定義服務器控件語法爲自定義服務器控件或用戶控件佈局。
在以下情況中,使用 @ Register 指令。
通過聲明將自定義 ASP.NET 服務器控件添加到頁或用戶控件。
將聲明性用戶控件添加到頁或用戶控件。
對於聲明性用戶控件,請使用 tagname、tagprefix 和 src 屬性。在頁中聲明控件時,前兩個屬性總是以冒號分隔對 (tagprefix:tagname) 的形式一起使用。src 屬性值既可以是從應用程序根目錄到用戶控件源文件的相對路徑,也可以是絕對路徑。爲方便使用,建議使用相對路徑。例如,假設將所有應用程序用戶控件文件存儲在應用程序根目錄的子目錄 \usercontrol 下。要包括 usercontrol1.ascx 文件中的用戶控件,請在 @ Register 指令中包含以下內容:
Src="~\usercontrol\usercontrol1.ascx"
代字號 (~) 表示應用程序的根目錄。
注意 如果用戶控件和包含該控件的頁位於同一目錄中,則 src 屬性值應該爲 .ascx 文件的文件名和擴展名。
當包含已經編譯爲 .dll 文件供應用程序使用的自定義服務器控件時,請將 tagprefix 與 Assembly 和 Namespace 屬性一起使用。如果沒有包含 Namespace 屬性,或者給該屬性分配了一個空字符串,則會出現分析器錯誤。
警告在開發自定義服務器控件時,必須將其包含在命名空間中。如果沒有包含在命名空間中,則將無法從 ASP.NET 頁中訪問該控件。有關開發自定義 ASP.NET 服務器控件的更多信息,請參見開發簡單的 ASP.NET 服務器控件。
示例
以下代碼片段使用 @ Register 指令聲明服務器控件和用戶控件的 tagprefix 和 tagname 別名。第一條指令將 MyTag 別名聲明爲駐留在 MyCompany:MyNameSpace 命名空間中的所有控件的標記前綴。第二條指令將 Acme:AdRotator 聲明爲文件 Adrotator.acscx 中用戶控件的 tagprefix:tagname 對。然後,在窗體的自定義服務器控件語法中使用別名,爲每個服務器控件插入一個實例。
<%@ Register Tagprefix="MyTag" Namespace="MyCompany:MyNameSpace" Assembly="MyAssembly" %>
<%@ Register Tagprefix="Acme" Tagname="AdRotator" Src="AdRotator.ascx" %>
<HTML>
<body>
<form runat="server">
<MyTag:MyControl runat="server" /><BR>
<Acme:AdRotator file="myads.xml" runat="server" />
</form>
</body>
</HTML>