SharePoint 2013中的自定义母版页中不允许使用代码块

时间:2013-11-19 15:28:17

标签: sharepoint sharepoint-2010 master-pages sharepoint-2013

我已将SharePoint 2010 Web应用程序迁移到SharePoint 2013并以兼容模式运行。 我有一个SharePoint设计器修改的母版页,它保存在内容数据库中。我有一些在母版页中运行的内联代码。 母版页在SharePoint 2010中运行良好。 我在页面解析器中添加了这一行

      <PageParserPath VirtualPath="/_catalogs/masterpage/*" CompilationMode="Always" AllowServerSideScript="true" IncludeSubFolders="true" />

但是在2013年我仍然有相同的一行,但它仍然给我这个错误

在处理/_catalogs/masterpage/custom.master期间发生错误。此文件中不允许使用代码块。

当我将页面解析器中的条目更改为此时,它可以正常工作

       <PageParserPath VirtualPath="/*" CompilationMode="Always" AllowServerSideScript="true" IncludeSubFolders="true" />

这不是一个好方法,因为它会打开我的所有页面以允许编写脚本。

了解2013年的变化是什么?2013年实现这一目标的最佳途径是什么

3 个答案:

答案 0 :(得分:2)

这是我的代码:

<PageParserPath VirtualPath="~/_catalogs/masterpage/*" CompilationMode="Always" AllowServerSideScript="true" IncludeSubFolders="true" />

它在我的最终工作正常。

答案 1 :(得分:0)

我通过将虚拟路径设置为“〜/ _catalogs / masterpage / *”让它在2013年工作

答案 2 :(得分:0)

您是在SharePoint 2010中修改母版页还是仅在2013年修改了母版页?

此页面:http://blog.bullseyeconsulting.com/archive/2013/03/21/fixing-code-blocks-not-allowed.aspx

引用:

  

一旦“自定义”(以前称为“unghosted”),对该站点的[母版页]的引用就在数据库中,而不是文件系统中。如果不更改web.config,则不允许使用代码块,并且页面会中断。