我编写了一个继承自CompositeControl的自定义服务器控件。控件实例化后,我动态地将TextBox添加到其Controls集合中。我重写了TabIndex属性,以便在设置它时,它将值应用于子TextBox控件的TabIndex属性。问题是,当渲染CompositeControl时,它包含一个span标记作为整个容器,它在 span 以及输入(TextBox)控件上设置tabindex属性。这使得光标实际上是tab的跨度,这不是我想要的。关于如何让CompositeControl不在span上呈现tabindex属性的任何想法?
答案 0 :(得分:2)
我回答了自己的问题。事实证明,包装器span标签根本不是必需的,您可以通过在继承自CompositeControl的类中包含以下替代来删除它:
public override void RenderBeginTag(HtmlTextWriter writer)
{
// NOOP
}
public override void RenderEndTag(HtmlTextWriter writer)
{
// NOOP
}