1

CompositeControl を継承するカスタム サーバー コントロールを作成しました。コントロールがインスタンス化されると、その Controls コレクションに TextBox が動的に追加されます。TabIndex プロパティをオーバーライドして、設定時に値を子 TextBox コントロールの TabIndex プロパティに適用するようにしました。問題は、CompositeControl がレンダリングされるときに、全体的なコンテナーとしてスパン タグが含まれ、入力 (TextBox) コントロールと同様にスパンに tabindex プロパティを設定していることです。これにより、カーソルが実際にスパンに移動しますが、これは私が望むものではありません。CompositeControl がスパンに tabindex プロパティをレンダリングしないようにする方法についてのアイデアはありますか?

4

1 に答える 1

2

私は自分の質問に答えました。ラッパースパンタグは実際にはまったく必要ないことがわかりました。CompositeControlから継承するクラスに次のオーバーライドを含めるだけで、タグを削除できます。

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

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