1

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

4

1 回答 1

2

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

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

public override void RenderEndTag(HtmlTextWriter writer)
{
    // NOOP
}
于 2009-03-19T19:50:43.277 回答