C#:@Register指令,自訂控制項

來源:互聯網
上載者:User

標籤:register

將別名與命名空間及類名關聯起來,以便在自訂伺服器控制項文法中使用簡明的標記法。
<%@ register tagprefix="tagprefix" namespace="namespace" assembly="assembly" %>

<%@ register tagprefix="tagprefix" tagname="tagname" src="pathname" %>

寫一個樣本:

html標籤上邊,寫上指令

<%@ Register TagPrefix="cc1" Namespace="abc.WebControls" Assembly="<span style="font-family: Arial, Helvetica, sans-serif;">abc</span><span style="font-family: Arial, Helvetica, sans-serif;">.WebControls.ComboBox" %></span>

在所需寫控制項的div或table寫上

<td style="width: 80px; height: 18px">                    <cc1:ComboBox ID="css1" runat="server" Width="109px" Rows="5">                    </cc1:ComboBox></td>


屬性
tagprefix 與命名空間關聯的別名
tagname 與類關聯的別名
namespace 與 tagprefix 關聯的命名空間。
src 與 tagprefix:tagname 對關聯的聲明性使用者控制項檔案的位置(相對的或絕對的)。

assembly 與 tagprefix 關聯的命名空間所駐留的程式集。

PS: 程式集名稱不包括副檔名。


備忘
如果在頁或使用者控制項中包含 @ 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 屬性,或者給該屬性分配了一個Null 字元串,則會出現分析器錯誤。

警告 在開發自訂伺服器控制項時,必須將其包含在命名空間中。如果沒有包含在命名空間中,則將無法從 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 id="control1" runat="server" /><br>
<acme:adrotator file="myads.xml" runat="server" />
</form>
</body>

</html>


參考文章:http://blog.sina.com.cn/s/blog_4c9ed49d0100a8cl.html

PS:此文僅為記錄學習所用

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.