2008-11-11 62 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:我有一個具體的商業原因想要這樣做。好吧。

相關問題