在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。