C#:@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 属性,或者给该属性分配了一个空字符串,则会出现分析器错误。

警告 在开发自定义服务器控件时,必须将其包含在命名空间中。如果没有包含在命名空间中,则将无法从 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:此文仅为记录学习所用

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值