マスターコントロールの値をユーザーコントロールから変更したい場合、このシナリオは次のようになります。
ユーザーコントロールのロード方法では、「catID」というクエリ文字列パラメータを使用してカテゴリエンティティを取得します。マスターページにあるタイトルタグ(カテゴリタイトル)の値としてのカテゴリタイトル。
ユーザーコントロールページのロードコントロールでタイトルを変更しようとしましたが、マスターページのロードメソッドが先に実行されます。マスターコントロールのコントロール値をユーザーコントロールから変更する方法は?
アイデア?
これは絶対に恐ろしい練習です。 「懸念の分離」の原則とそれ以上のものに全面的に違反しています。ユーザーコントロールはマスターページを変更しないでください。さらに、ユーザーコントロールは、配置場所に依存しないようにする必要があります。あなたが持っている方法は、きついカップリングだけです。 – Mrchief
@Mrchief:+1しかし、UserControlsの目的は必ずしも分離と再利用ではなく、カプセル化と単純化です。この場合、UserControl自体がコントローラのページの役割を採用し、ページは含まれているUserControlの可視性のみを制御します。 f.eを考慮する。 [TabContainerの[Lazy-loading TabPanels](http://mattberseth.com/blog/2007/07/how_to_lazyload_tabpanels_with.html)のシナリオでは、すべてのパネルにページの全機能を持つUserControlが含まれています。 –
@Tim:それはここのユーザーコントロールは、ページの役割を採用しています。私のプロジェクトでは、クエリパラメータに応じてユーザーコントロールの可視性を制御するaspxは1つだけです。 – Dabbas