0

私が遭遇したすべてのGoogleの発見は、FindControlを使用してコンテンツページ自体からマスターのコントロールにアクセスする方法を教えてくれました。

しかし、私がやろうとしていることは反対です。マスターページから、ContentPlaceHolderにある子ページを参照したいと思います。

なぜ聞くの。現在プレースホルダーにあるコンテンツページに応じて、どのタブをアクティブにする必要があるかをマスターページに知らせたい。これにより、各ページでマスターページを参照する必要がなくなり、アクティブなタブを変更できるようになります。それがマスターページの仕事であるはずです(それが誰を囲んでいるかを知る方法がある場合)。

ありがとう。暴言はありません。

4

1 に答える 1

4

実行中のページクラスのインスタンスを取得する場合は、現在のHTTPコンテキストから取得できます。

var page = HttpContext.Current.CurrentHandler as Page;

そこから、ページのコントロールツリーをナビゲートしたり、を呼び出したりすることができますFindControl()。ただし、マスターページイベントは対応するページイベントの前に発生する傾向があるため、ページのライフサイクルには注意してください。

于 2010-09-08T18:32:06.723 に答える