2008-11-11 66 views
1

我想建立一个ASP.NET自定义控件,使得它具有自定义名称,具体地,在其中一个连字符,所以它可能是这样的标记:如何使用名称中的破折号创建ASP.NET自定义控件?

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

我不介意如果这个语法需要在web.config中设置一个标记映射,或者是这个效果,但是tagMapping element并不完全匹配我想要做的事情。

回答

1

由于对班级的限制,我不认为这是可能的。我不相信你可以参考一个控制类的标记,而不用引用它的名字

是否有你需要连字符的具体原因?

1

约翰,你是对的。我在做一些反射器搜索和它看起来像它不会有:

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:我有一个具体的商业原因想要这样做。好吧。

相关问题