你可以在“Page_PreInit”之后/之前分配一个母版页吗?

时间:2012-06-19 16:17:13

标签: c# asp.net webforms

我想动态设置母版页,但目前我有一个Page_PreInit的基页,用于初始化/执行memberpages所需的varioustasks。

现在我知道你可以通过将(new protected void Page_OnInit(..))放在成员页面中来覆盖基页,但我不想说基页已经完成了它的工作。

"this.MasterPageFile ="

有没有办法在Page_PreInit之后或之前设置母版页?
或者同时使用Page PreInt和BasePage PreInt?

由于

1 个答案:

答案 0 :(得分: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之前有什么用处。

http://i.msdn.microsoft.com/dynimg/IC386473.png

除了页面构造函数之外,没有更早的钩子,如果你可以在那里做的话。但您还无法访问任何页面值。