sharepoint - 从 Layouts 目录运行 MasterPages

标签 sharepoint sharepoint-2007 master-pages

为了简化我们的 SharePoint 环境,我希望有一个集中的单一位置来存储所有母版页,因此我希望直接从 _layouts 目录引用母版页文件。

我将文件添加到“\LAYOUTS\MyMasterPages”目录,然后更新 SPWeb 对象以使用该路径:

web.MasterUrl = "/_layouts/MyMasterPages/newdefault.master"

但是当我访问该网站时,我得到:

The referenced file '/_layouts/MyMasterPages/newdefault.master' is not allowed on this page. at System.Web.UI.TemplateParser.ProcessError(String message) at System.Web.UI.BaseTemplateParser.GetReferencedType(VirtualPath virtualPath, Boolean allowNoCompile)
at System.Web.UI.PageParser.ProcessMainDirectiveAttribute(String deviceName, String name, String value, IDictionary parseData) at System.Web.UI.TemplateParser.ProcessMainDirective(IDictionary mainDirective)

我假设这可能是由于信任级别的安全策略和 CAS 配置,但我不完全确定。有没有办法允许这种在整个企业中使用母版页的集中方式,或者我是否一直在使用/_catalog/虚拟路径?

最佳答案

这对我有用:

protected override void OnPreInit(EventArgs e)
{
    base.OnPreInit(e);
    this.MasterPageFile = "path to masterpage";
}

建议于: How to use the site's masterpage from a _layout SharePoint page?

关于sharepoint - 从 Layouts 目录运行 MasterPages,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/786409/

相关文章:

sharepoint - 重新格式化 SharePoint 警报的内容和外观

sharepoint-2007 - SharePoint自定义JS文件最佳实践

ASP.NET MasterPage 回发无法从主页运行

asp.net - .NET 母版页 session 状态变量未保存

javascript - 用JS从SP列表中获取具体内容

sharepoint - 在 Infopath 中检索共享点列表仅显示前 100 条记录

Sharepoint 权限(用户应该能够提交表单,但不能编辑/删除它)?

.net - 在 _layouts 下从 ASP.NET 运行 STSADM

javascript - 使用 SPapp 添加母版页以托管 Web 母版页厨房

xml - 以 xml 格式导出 Sharepoint 列表的最简单方法是什么?