SharePoint 2013 排错之"Code blocks are not allowed in this file"
今天,设置页面布局的自己定义母版页时,设置完了以后保存,然后预览报错,错误例如以下截图;删掉自己定义母版页的MasterPageFile属性,页面依旧报错;感觉甚是奇怪,由于有版本号控制,还原为最初的版本号,依旧报错,我这暴脾气!一气之下,删掉了这个默认自带的母版页,从其它环境导过来一个,结果依旧报错,错误例如以下图;
想来想去百思不得其解,然后看了看错误,发现是这个文件不同意后台代码,谷歌了一下(链接附后),发现设置web.config能够同意后台代码(配置文件截图例如以下),改过配置文件以后,确实页面不报错了,可是记得,千万别删掉自带的页面布局,我发现即使导过来一个一模一样的,效果也不一样,郁闷!最后还是从回收站还原最初的。
web.config改动节点,例如以下:
<SafeMode MaxControls="200" CallStack="false" DirectFileDependencies="10" TotalFileDependencies="250" AllowPageLevelTrace="false"> <PageParserPaths> <PageParserPath VirtualPath="/*" CompilationMode="Always" AllowServerSideScript="true" IncludeSubFolders="true" /> </PageParserPaths> </SafeMode>
结束语
错误是改动好了,依然不解为什么我的页面布局,就报错了?还须要开启后台代码,这个安全不安全?改回来为什么不行?说是页面布局的类型被改变了,自带的页面布局,真是非常脆弱,大家改动的时候,注意备份,小心慎重吧!前车之鉴啊!
參考链接
http://social.msdn.microsoft.com/Forums/sharepoint/en-US/d198c19a-701d-4032-aad4-ddf336adc17c/master-page-error-code-blocks-are-not-allowed-in-this-file?forum=sharepointcustomizationlegacy