如何在容器跨度上设置tabindex来停止CompositeControl TabIndex属性

时间:2009-03-19 19:35:33

标签: asp.net composite-controls

我编写了一个继承自CompositeControl的自定义服务器控件。控件实例化后,我动态地将TextBox添加到其Controls集合中。我重写了TabIndex属性,以便在设置它时,它将值应用于子TextBox控件的TabIndex属性。问题是,当渲染CompositeControl时,它包含一个span标记作为整个容器,它在 span 以及输入(TextBox)控件上设置tabindex属性。这使得光标实际上是tab的跨度,这不是我想要的。关于如何让CompositeControl不在span上呈现tabindex属性的任何想法?

1 个答案:

答案 0 :(得分:2)

我回答了自己的问题。事实证明,包装器span标签根本不是必需的,您可以通过在继承自CompositeControl的类中包含以下替代来删除它:

public override void RenderBeginTag(HtmlTextWriter writer)
{
    // NOOP
}

public override void RenderEndTag(HtmlTextWriter writer)
{
    // NOOP
}