UserControl 中TagPrefix与TagName

来源:互联网 发布:什么是大数据分析 编辑:程序博客网 时间:2024/05/14 02:10

在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 页面里可以看到如下代码:

 

[c-sharp] view plaincopy
  1. <%@ Page Language="C#" %>  
  2. <%@ Register TagPrefix="user" TagName="RandomImage" Src="~/UserControl/RandomImage.ascx" %>  
  3. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
  4.   
  5. <mce:script runat="server"></mce:script>  
  6.   
  7. <html xmlns="http://www.w3.org/1999/xhtml">  
  8. <head runat="server">  
  9.     <title>无标题页</title>  
  10. </head>  
  11. <body>   
  12.     <form id="form1" runat="server">  
  13.     <div>  
  14.     <user:RandomImage ID="RandomImage1" runat="server"/>  
  15.     </div>  
  16.     </form>  
  17. </body>  
  18. </html>  

<%@ Register TagPrefix="user" TagName="RandomImage" Src="~/UserControl/RandomImage.ascx" %>

 

在<%@ Register 后面可以看到 TagPrefix 和TagName ,在这里我们可以把他们改成任何你想改的名称。同时别忘了在定义控件的地方

 <user:RandomImage ID="RandomImage1" runat="server"/> 把这里的也改成相应的。

如:

[c-sharp] view plaincopy
  1. <%@ Page Language="C#" %>  
  2. <%@ Register TagPrefix="uc" TagName="RI" Src="~/UserControl/RandomImage.ascx" %>  
  3. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
  4.   
  5. <mce:script runat="server"></mce:script>  
  6.   
  7. <html xmlns="http://www.w3.org/1999/xhtml">  
  8. <head runat="server">  
  9.     <title>无标题页</title>  
  10. </head>  
  11. <body>   
  12.     <form id="form1" runat="server">  
  13.     <div>  
  14.     <uc:RI ID="RandomImage1" runat="server"/>  
  15.     </div>  
  16.     </form>  
  17. </body>  
  18. </html>  

这里把TagPrefix 和TagName 分别改成了uc 与RI。

0 0