代码之家  ›  专栏  ›  技术社区  ›  Max Schilling

如何定义自定义控件的默认“tagPrefix”

  •  9
  • Max Schilling  · 技术社区  · 16 年前

    我有许多自定义控件,我正在尝试启用设计器支持。签名如下:

    [ToolboxData("<{0}:MyDropDownList runat=\"server\" CustomProp="123"></{0}:MyDropDownList>")]
    public class MyDropDownList: DropDownList
    {
       ... code here
    }
    

    这很好,但是当我从工具箱中将控件拖到页面上时,添加的tagPrefix是“cc1”:

    <%@ Register Assembly="DBMClientPortal.Controls" Namespace="DBMClientPortal.Controls"
        TagPrefix="cc1" %>
    

    显然,这个tagprefix是什么有点无关紧要…它按原样工作,但我想我 必须 可以改变它,好奇心让我变得更好…

    有人知道在Visual Studio中将自定义控件拖到页面上时如何定义TagPrefix将设置为什么吗?

    谢谢, 马克斯

    2 回复  |  直到 16 年前
        1
  •  6
  •   DOK    16 年前

    看起来像这样:

    [assembly:TagPrefix("MyControls","RequiredTextBox")]
    

    here's 关于它的更多信息。

        2
  •  1
  •   Eilon    16 年前

    仅供参考,tagPrefix属性只是 建议 到Visual Studio和其他设计器工具。如果用户已将您的命名空间注册到其他标记前缀,则可以自由使用该标记前缀。此外,如果建议的标记前缀已在使用中并指向其他命名空间,则Visual Studio将使用自动生成的标记前缀。

    但是,如果您选择一个基于您的产品或公司名称的标签前缀,那么发生这些情况的几率相当小。