如何从@ Html.Raw(Json.Encode(Model)中删除ESLint解析错误

时间:2018-09-18 08:57:23

标签: javascript json asp.net-mvc eslint

要将服务器视图模型转换为json对象,我正在rasor视图的javascript部分中使用以下代码。

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

代码的分号用红色的波浪线标记,并弹出错误“ ESLint遇到解析错误”(使用VS 2017)。

令人惊讶的是,当我构建项目时,没有出现错误。同样在本地运行项目并发布它不会产生错误,并且页面可以正常运行。

我使用了如下语法:

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

然后,ESLint错误消失了,但是其他代码部分出现了语法错误。

关于暗示导致ESLint错误的原因以及如何消除它的任何提示?

感谢您的帮助。 Manu

1 个答案:

答案 0 :(得分:1)

您可以放心地忽略解析器错误。只是剃刀无法识别有效的语法。

引用@Html.Raw(...)时,就是将对象转换为string,这很可能会导致您确定的其他错误。

如果您确实想避免解析器错误,则可以对其加引号,然后使用JSON.parse()将其转换回对象

var jsonModel = JSON.parse('@Html.Raw(Json.Encode(Model))');

但这是不必要的额外开销。