ContentPlaceHolderコンテンツが子ページによってオーバーライドされているかどうかをテストしますか?

StackOverflow https://stackoverflow.com/questions/1041349

質問

現在、.net 1.1アプリケーションを.net 3.5に移行しています。

.net 1.1アプリケーションには、マスターページに移行したいページ+ユーザーコントロールが多数あります。

私の問題は、マスターページのcontentplaceholdersコンテンツが子ページによってオーバーライドされているかどうかを確認するために、プログラムでテストしようとしています。

  1. それは可能ですか?
  2. 私が見ることができるサンプルやリファレンスはありますか?

事前に感謝します。

役に立ちましたか?

解決

ページはマスターページと通信できますが、contentplaceholderのコンテンツはマスターページに属していないため、その逆はできません。ページの「登録」を設定する最も簡単な方法マスターページへのそれ自体は、.NET MasterPageから継承するクラスを宣言し、そのクラスの通信機能を公開することです。

パブリック抽象クラスMyMaster:System.Web.UI.MasterPage {     public MyMaster(){}

public abstract void TellMeSomethingAboutTheContent(SomeArgs args);

}

その後、マスターを使用するページで次のようなことができます:

protected void Page_Load(object sender, EventArgs e) 
{ 
    MyMaster master = Page.Master as MyMaster;


    if (master == null)
        return;


    master.TellMeSomethingAboutTheContent(args);
}

もちろん、マスターページに知らせたいデータを含むSomeArgsクラスがあると仮定します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top