0

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

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

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

  1. 出来ますか?
  2. 誰かが私が見ることができるサンプルやリファレンスを持っていますか?

前もって感謝します。

4

1 に答える 1

0

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

public 抽象クラス 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 クラスがあると仮定します。

于 2009-06-24T22:42:17.320 に答える