2009-03-13 16 views
0

私は、そのページ上の他のコントロールを操作するコントロール(MyControl)を作成しようとしています。他のコントロールのIDを使用して、そのユーザーの作成したASP.NETコントロールに、別のコントロールをパラメータとして渡す方法はありますか?

public property System.Web.UI.Control SomeOtherControl; 

このプロパティは、コントロールを使用するASPXページから設定できます。今、私はそれを行うことができる唯一の方法は、コードビハインドのPage_Loadにされています。その代わりMyControlを使用するすべてのページのコードビハインドでこれを行うに持つの

MyControl.SomeOtherControl = TheOtherControl; 

、私だけを行うのですかたいこのASPXページ上:

<xyz:MyControl SomeOtherControl="TheOtherControlsID" /> 

これを行うために、私はMyControlの初期化時に参照コントロールを見つけるために、ID列にPage.FindControl()方法を使用してみましたが、それだけで、ページの最上位レベルのコントロールを検索します。私は自分で再帰的にFindControl()を書くことができましたが、これを行うにはより良い方法が必要であると思います。そのようなもののパフォーマンスが心配です。何か案は?

答えて

1

再帰的なFindControlはおそらくあなたが信じているよりもはるかに高速です。私は数百ものコントロールを使っていても、処理時間には1ミリ秒分の価値を測定することさえできませんでした。

関連する問題