我在 c# MVC 3 razor 页面中有以下代码,我将序列化数据传递到 KnockoutJs 的 javascript 变量中:
@{
var listData = new JavaScriptSerializer().Serialize(Model.ListItems);
var pagerData = new JavaScriptSerializer().Serialize(Model.Pager);
}
// additional code
<script type="text/javascript" >
var ListData = @(Html.Raw(listData)); // <-- Syntax Error here
var PagerData = @(Html.Raw(pagerData)); // <-- Syntax Error here
// additional js code
</script>
升级到 VS 2012 后,我在上面的 Html.Raw 行末尾的 javascript 分号后面收到错误曲线。该项目符合要求,但 VS 2012 在每行的错误列表中显示“语法错误”。如果没有分号,JavaScript 也会显示“语法错误”。
该代码在以前的版本中没有问题。这是 VS 2012 解析器中的错误吗?有没有办法避免生成的错误?
Edit还有其他人看到这个问题吗?下面是一个简化版本,在新页面中隔离了相同的问题。如果在 ListData 行末尾添加分号,则会出现 javascript 语法错误,如果没有分号,则会出现在下一行。这是VS2010和VS2012之间的javascript编译器的错误吗?
@{
var listData = "test";
var pagerData = "test2";
}
<script type="text/javascript" >
var ListData = @(Html.Raw(listData))
var PagerData = @(Html.Raw(pagerData))
</script>
请对此添加投票连接问题。我们将在下一个版本的 VS 中解决这个问题。我已将您的重现代码附加到此错误中,并添加了到此帖子的链接作为该问题的另一种表现形式。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)