敲除语法错误警告,但它仍然有效

时间:2014-06-16 18:53:19

标签: knockout.js

任何人都可以对此有所了解吗?我在VS2013/C#的这一行收到编译器警告,但它仍然有效......

SendData = ko.toJSON({
    UserName: @Html.Raw(Json.Encode(Model.UN)),
    Notes: self.Notes,
    nRecID: @Html.Raw(Model.pkRecID),
    AddColors: self.AddColors
})

警告在元素之间的逗号上。所有编译器都说是"Syntax error"

1 个答案:

答案 0 :(得分:1)

它只是混合客户端和服务器端代码的副作用。 Visual Studio知道@Html.Raw(...)是服务器端代码,因此在解析客户端javascript时会忽略它。所以Visual Studio看到的是:

SendData = ko.toJSON({ UserName: , Notes: self.Notes, nRecID: , AddColors: self.AddColors })

正如您所看到的,这不是有效的JavaScript,因为您没有为UserName或nRecID提供值。无论如何,你可以放心地忽略它。