【发布时间】:2014-09-04 10:01:18
【问题描述】:
以前从未需要这样做,但是否可以动态设置/更改页面正在使用的母版页?有一个旧的 asp.net 网络表单项目,我为其创建了一个新的引导模板,但老板希望让人们有机会打开新的,而不是强加给他们。
【问题讨论】:
以前从未需要这样做,但是否可以动态设置/更改页面正在使用的母版页?有一个旧的 asp.net 网络表单项目,我为其创建了一个新的引导模板,但老板希望让人们有机会打开新的,而不是强加给他们。
【问题讨论】:
我建议您创建一个 BasePage 类,而不是在该类中编写此方法并从该类继承您的所有页面,其母版页可以动态更改。
public class BasePage: System.Web.UI.Page
{
protected void Page_PreInit(object sender, EventArgs e)
{
try
{
if (conduction1)
this.Page.MasterPageFile = "~/MasterPage.master";
else
this.Page.MasterPageFile = "~/Master.master";
}
catch (Exception ex)
{
}
}
}
然后在你的页面中像这样从 BasePage 继承页面
public partial class _Default:BasePage
【讨论】:
仅在preint 事件中更改母版页
protected void Page_PreInit(object sender, EventArgs e)
{
try
{
if (conduction1)
this.Page.MasterPageFile = "~/MasterPage.master";
else
this.Page.MasterPageFile = "~/Master.master";
}
catch (Exception ex)
{
}
}
或
void page_PreInit(object sender, EventArgs e)
{
Page page = sender as Page;
page.MasterPageFile = "string location of masterpage";
}
【讨论】: