如何创建名称中带有破折号的ASP.NET自定义控件?

如何创建名称中带有破折号的ASP.NET自定义控件?,asp.net,custom-server-controls,Asp.net,Custom Server Controls,我想设置一个ASP.NET自定义控件,使其具有一个自定义名称,特别是其中包含一个连字符,因此在标记中它可能看起来像这样: <rp:do-something runat="server" id="doSomething1" /> 我不介意这种语法是否需要在web.config中设置标记映射或类似的内容,但与我想做的并不完全匹配。由于类命名的限制,我认为这是不可能的。我认为在标记中引用控件类时不能不按名称引用它 你需要连字符有什么特别的原因吗?约翰,你说得对。我在反射器中进行了一些搜索

我想设置一个ASP.NET自定义控件,使其具有一个自定义名称,特别是其中包含一个连字符,因此在标记中它可能看起来像这样:

<rp:do-something runat="server" id="doSomething1" />

我不介意这种语法是否需要在web.config中设置标记映射或类似的内容,但与我想做的并不完全匹配。

由于类命名的限制,我认为这是不可能的。我认为在标记中引用控件类时不能不按名称引用它


你需要连字符有什么特别的原因吗?

约翰,你说得对。我在反射器中进行了一些搜索,但似乎没有找到:

Type ITagNameToTypeMapper.GetControlType(string tagName, IDictionary attribs)
{
    string str;
    string str2 = this._nsRegisterEntry.Namespace;
    if (string.IsNullOrEmpty(str2))
    {
        str = tagName;
    }
    else
    {
        str = str2 + "." + tagName;
    }
    if (this._assembly != null)
    {
        Type type = null;
        try
        {
            type = this._assembly.GetType(str, true, true);
        }
在System.Web.UI.NamespaceTagNameToTypeMapper、System.Web中实现

@乔纳森:我想这样做有一个具体的商业原因。哦,好吧