我的_layout共享视图中有一个脚本部分,以便根据需要将脚本添加到视图中。
在升级到MVC 4 beta之后,MVC不会识别该部分的关闭}并且我得到一个错误。
我看到其他线程说使用@(Html.Raw("});"))
(我正在使用JQuery)。这不是一个好的解决方案,因为我的部分中有超过30个结束}
。
我可以将脚本放在JS文件中,但这不是一个好的解决方案。
针对此问题的任何解决方案?
答案 0 :(得分:1)
我现在正在遇到同样的事情,经过大量的实验,看起来这是由for
循环导致的某种Razor解释器错误的结果@section ScriptSection {
}。我的循环是完全标准的:
for (var i = 0; i < viewModel.questions.length; i++) {
...
}
但删除后,Razor正确找到了我的结尾}
。我不知道为什么,但它显然认为<
正在开始标记。将我的循环代码更改为:
for (var i = 0; viewModel.questions.length > i; i++) {
一切顺利。我知道其他东西可能对此有所贡献,因为它在一段时间内工作正常然后破裂了。希望这会有所帮助。