我已将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年实现这一目标的最佳途径是什么
答案 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,则不允许使用代码块,并且页面会中断。