在许多情况下,我们需要根据项目的运行情况,在页面运行时才决定使用哪个母版页。例如在企业管理系统中,我们要求公司的某个部门需要使用一个母版页,而其他部门则使用另外一个母版页。显然,这时候前面母版页调用方式是不能够满足的,它要求我们必须以编程方式来动态设置母版页。
其实,通过编程方式来动态设置母版页非常方便。你只需设置Page.MasterPageFile属性就可以了。但这一步必须在Page.Init事件阶段完成,在这之后,再设置这一属性会产生一个异常。如下面的代码所示:
protected void Page_PreInit(object sender, EventArgs e)
{
Page.MasterPageFile = "~/Test.Master";
}
如果你将Page.MasterPageFile属性设置在Page_Load事件里,页面将会提示错误信息:"The 'MasterPageFile' property can only be set in or before the 'Page_PreInit' event.".因此,你必须将Page.MasterPageFile属性设置在Page.Init事件里。
在使用以编程方式来动态设置母版页时,还必须注意如下几点:
1)确保在Web.config文件中或者内容页面的@Page指令中没有引用MasterPageFile的<pages>元素,只有这样才会得到成功加载的页面,并且引入了母版页。
2)确保内容页面没有使用MasterType指令来创建对母版页的强类型引用。
3)确保内容页面和所设置的的母版页完全兼容。
讲解在ASP.NET中如何设置母版页
精选 翻译上一篇:在.net中支持ESMTP身份验证的邮件发送简单讲解
下一篇:如何导出报表模块
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
Asp.Net Core 配置动态WebApi
.Net Core 配置动态WebApi
动态生成 Web 应用服务 -
ASP.NET:母版页与内容页
ASP.NET:验证控件ASP.NET:母版页与内容页ASP.NET:主题中的皮肤和样式表 一、使用多种方式为内容页加载母版页默认情况下是给单个
asp.net url 服务器 server 编程 -
asp.net母版页进阶--母子通信
实例:修改web.config文件时一不小心在server中多加了一个
母版页 asp.net sql2005 html c# -
ASP.NET_母版页嵌套母版页
母版页的嵌套先创建一个空的项目,待用添加主母版页 母版页 Main.Master<%@ Master Language="C#" AutoEventWireu
asp.net 母版页 嵌套母版页 C# html