我想设置一个 ASP.NET 自定义控件,使其具有自定义名称,特别是其中带有连字符,因此它在标记中可能如下所示:
<rp:do-something runat="server" id="doSomething1" />
我不介意这种语法是否需要在 web.config 中设置标签映射或类似的东西,但tagMapping 元素与我想做的不太匹配。
我想设置一个 ASP.NET 自定义控件,使其具有自定义名称,特别是其中带有连字符,因此它在标记中可能如下所示:
<rp:do-something runat="server" id="doSomething1" />
我不介意这种语法是否需要在 web.config 中设置标签映射或类似的东西,但tagMapping 元素与我想做的不太匹配。
由于类命名的限制,我认为这是不可能的。我不相信您可以在标记中引用控件类而不按名称引用它
您需要连字符是否有特定原因?
约翰,你是对的。我在 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:我有一个特定的商业原因想要这样做。那好吧。