在javascript中解析模型时出现语法错误

时间:2013-04-07 18:30:57

标签: asp.net-mvc

大家好我在我的javascript中使用以下语法

 var careteam = "@Html.Raw(Json.Encode(Model.CareTeamForFile))";

我收到以下错误

SyntaxError: missing ; before statement
[Break On This Error]   

var careteam = "[{"GroupId":3,"GroupName":"Physician","Users":[{"UserId":3438,"

箭头指示位置。

我在其他非常正常的地方使用过这种语法。

1 个答案:

答案 0 :(得分:2)

在JS中你得到下一行:

var careteam = "[{"GroupId":3,"GroupName":"Physician","Users":[{"UserId":3438,"

如果我们将阅读此行,那么在您拥有var careteam = "[{"之后,它会为您提供变量GroupId":3,"GroupName":"Physician","Users":[{"UserId":3438,"的声明,这对JS来说是没有意义的。

将剃刀语法更改为:

var careteam = '@Html.Raw(Json.Encode(Model.CareTeamForFile))';

所以在careteam中你会有一个字符串

var careteam = '[{"GroupId":3,"GroupName":"Physician","Users":[{"UserId":3438," ... '

但是我打赌这不是你想要的,你想在careteam中有一个数组,所以我猜这是正确的解决方案:

var careteam = @Html.Raw(Json.Encode(Model.CareTeamForFile));

你将进入JS:

var careteam = [{"GroupId":3,"GroupName":"Physician","Users":[{"UserId":3438," ...