我知道以下内容将在ASP.NET VB.NET应用程序中以编程方式设置母版页:
Me.MasterPageFile = "~/masterPage.master"
是否可以以编程方式设置适用于应用程序中所有页面的母版页文件,而不必为每个单独的页面设置它?我希望能够从数据库中检索此值,以便设置要使用的母版页文件。
如果没有,是否可以在web.config中设置多个母版页文件?
答案 0 :(得分:1)
这是您可以使用ASP.NET C#执行的操作。我没有用VB测试它。
声明您自己的页面类并在那里为所有页面设置母版页:
public class MyPage : System.Web.UI.Page
{
void Page_PreInit(Object sender, EventArgs e)
{
this.MasterPageFile = "MasterPage.master";
}
}
从您创建的每个页面继承您自己的页面类:
public partial class _Default : MyPage
{
}
答案 1 :(得分:1)
您可以在web.config文件中设置:
<pages masterPageFile="~/Template.master" />
答案 2 :(得分:0)
您可以在web.config中更改页面设置。此代码将更改所有页面的母版页。
var configuration = WebConfigurationManager.OpenWebConfiguration("~");
SystemWebSectionGroup section=new SystemWebSectionGroup();
section.Pages.MasterPageFile = "~/YourMasterPage.master";//Here too.
configuration.Save();
请记住,对web.config进行更改会重新启动Web服务器并使缓存无效。所以不要经常这样做。
我建议您单独为PreInit事件中的页面执行此操作。我发布了这段代码,告诉你可以一次更改所有页面,但它有其后果。