如何使用名称中的破折号创建ASP.NET自定义控件?
问题描述:
我想建立一个ASP.NET自定义控件,使得它具有自定义名称,具体地,在其中一个连字符,所以它可能是这样的标记:如何使用名称中的破折号创建ASP.NET自定义控件?
<rp:do-something runat="server" id="doSomething1" />
我不介意如果这个语法需要在web.config中设置一个标记映射,或者是这个效果,但是tagMapping element并不完全匹配我想要做的事情。
答
由于对班级的限制,我不认为这是可能的。我不相信你可以参考一个控制类的标记,而不用引用它的名字
是否有你需要连字符的具体原因?
答
约翰,你是对的。我在做一些反射器搜索和它看起来像它不会有:
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:我有一个具体的商业原因想要这样做。好吧。