1

我想设置一个 ASP.NET 自定义控件,使其具有自定义名称,特别是其中带有连字符,因此它在标记中可能如下所示:

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

我不介意这种语法是否需要在 web.config 中设置标签映射或类似的东西,但tagMapping 元素与我想做的不太匹配。

4

2 回答 2

1

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

您需要连字符是否有特定原因?

于 2008-11-11T18:17:54.203 回答
1

约翰,你是对的。我在 Reflector 中进行了一些搜索,看起来它没有到达那里:

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 中实现。

@Jonathan:我有一个特定的商业原因想要这样做。那好吧。

于 2008-11-11T18:44:52.290 回答