2009-03-19 10 views
1

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

答えて

2

私は自分の質問に答えました。ラッパースパンタグはまったく必要ではないことが判明し、CompositeControlを継承するクラスに次のオーバーライドを単純に追加することで、このタグを削除できます。

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

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