在Asp.net的aspx中當註冊一個User Control 時,會在<%@ Register 標籤後面加上TagPrefix 和 TagName. 在asp.net 項目中看到很多地方用到一直都不是很明白今天特意研究了下,其實TagPrefix 只是指向或則說關聯當前你自定義的User control 的namespace;TagName 只是指向當前你自定義的User control 的name;你可以爲TagPrefix和TagName取任何名字。
下面是 Sample:
首先在asp.net 項目中新建一個RandomImage.ascx User Control,然後將這個控件拖到一個新建的page 頁面中。在page 頁面裏可以看到如下代碼:
- <%@ Page Language="C#" %>
- <%@ Register TagPrefix="user" TagName="RandomImage" Src="~/UserControl/RandomImage.ascx" %>
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <mce:script runat="server"></mce:script>
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head runat="server">
- <title>無標題頁</title>
- </head>
- <body>
- <form id="form1" runat="server">
- <div>
- <user:RandomImage ID="RandomImage1" runat="server"/>
- </div>
- </form>
- </body>
- </html>
<%@ Register TagPrefix="user" TagName="RandomImage" Src="~/UserControl/RandomImage.ascx" %>
在<%@ Register 後面可以看到 TagPrefix 和TagName ,在這裏我們可以把他們改成任何你想改的名稱。同時別忘了在定義控件的地方
<user:RandomImage ID="RandomImage1" runat="server"/> 把這裏的也改成相應的。
如:
- <%@ Page Language="C#" %>
- <%@ Register TagPrefix="uc" TagName="RI" Src="~/UserControl/RandomImage.ascx" %>
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <mce:script runat="server"></mce:script>
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head runat="server">
- <title>無標題頁</title>
- </head>
- <body>
- <form id="form1" runat="server">
- <div>
- <uc:RI ID="RandomImage1" runat="server"/>
- </div>
- </form>
- </body>
- </html>
這裏把TagPrefix 和TagName 分別改成了uc 與RI。