2010-12-01 4 views
0

ページの読み込みには、特定のページ読み込みのすべてのネストユーザーコントロールを列挙する方法がありますか?ページ内のマスターページからすべてのネストされたユーザーコントロールを一覧表示する

インターフェイスを実装するすべてのユーザーコントロールを列挙し、asp.netがコントロールをそのpage_loadイベントに渡す前にコントロールのインターフェイスメソッドを呼び出すことができるようにしたいと考えています。

問題はマスターページのレベルからです。アプリ内のページが読み込まれている可能性があり、それぞれにランダムなユーザーコントロールがある可能性があります。また、インターフェイスを実装するかどうかを判断し、メソッド。

誰にもアイデアはありますか?

+0

なぜpage_loadの前に行う必要がありますか? – onof

+0

データベースのパフォーマンスはかなり低く、parrallelバックグラウンドスレッドでasynchを実行するようにデータアクセスを書き換えようとしており、データベースから戻ってきたときにデータを供給するために各ユーザーコントロールにコールバックを持っています。これを行うには、可能な限り多くのデータリクエストをできるだけ多く試してみる必要があります。ユーザーコントロールを見つけて、必要なデータとコールバックアドレスを要求する必要があります。ポイントはできるだけアプリを少し変更してパフォーマンスを向上させることです。これが私の最初の実験です。 – asawyer

答えて

1

この作品のようなものはありますか?

void ProcessControls(Control control) 
{ 
    if(control is IMyInterface) //whatever your interface name is 
    { 
     (control as IMyInterface).MethodName(); 
    } 

    foreach(Control child in control.Controls) 
    { 
     ProcessControls(child); 
    } 
} 
+0

私の最初の試みは、このような言葉をほとんど語りましたが、実行時にコントロールを見つけることは決してありません。 – asawyer

+0

初めて何が間違っていたのか分かりませんが、もう一度試してみましたが、今回は完全に機能しました。ありがとう! – asawyer

関連する問題