ContentPlaceHolderコンテンツが子ページによってオーバーライドされているかどうかをテストしますか?
-
22-07-2019 - |
質問
現在、.net 1.1アプリケーションを.net 3.5に移行しています。
.net 1.1アプリケーションには、マスターページに移行したいページ+ユーザーコントロールが多数あります。
私の問題は、マスターページのcontentplaceholdersコンテンツが子ページによってオーバーライドされているかどうかを確認するために、プログラムでテストしようとしています。
- それは可能ですか?
- 私が見ることができるサンプルやリファレンスはありますか?
事前に感謝します。
解決
ページはマスターページと通信できますが、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クラスがあると仮定します。
所属していません StackOverflow