2

マスターページを動的に設定したいのですが、現在、メンバーページにPage_PreInit必要なさまざまなタスクを初期化/実行するベースページがあります。

これで、メンバー ページを挿入することでベース ページをオーバーライドできることがわかり (new protected void Page_OnInit(..))ましたが、ベース ページにはその仕事があると言われているように、そうしたくはありません。

"this.MasterPageFile ="

の前後にマスターページを設定する方法はありますPage_PreInitか?
または、 Page PreInt と BasePage PreInt の両方を利用しますか?

ありがとう

4

1 に答える 1

3

編集:あなたの質問を読み直して、私はあなたの問題を見ます:

public class BasePage : WebPage {
  protected void Page_PreInit(object sender, EventArgs e){
    //do stuff here
  }
}

public class MyPage : BasePage {
  protected void Page_PreInit(object sender, EventArgs e){
    //overwrites base class functionality
    //Pretty sure you can:
    base.Page_PreInit(sender,e);
  }
}

元の回答

http://msdn.microsoft.com/en-us/library/c8y19k6h.aspx#sectionToggle1

MSDNによると、の間に 割り当てることができますPage_PreInit

前または後にそれを行う理由はありPage_PreInitますか?とにかく、ページのライフサイクルのpre-initの前に何か有用なものが来るかどうかは完全にはわかりません。


(ソース:microsoft.com

可能であれば、ページコンストラクターを除いて、以前のフックはありません。ただし、まだどのページ値にもアクセスできません。

于 2012-06-19T16:20:25.213 に答える