0

我想在cshtml页面(剃刀)中打印一个json文字,我想在javascript中填充一个json对象并在页面加载时准备好,而不是等到页面加载然后进行ajax调用。

我想要做的是

/*Some view*/

@{
    ViewBag.Title = "Some title";         

}
<script>
    _SERVER_["someVar"] ="@SomeClass.Models.MovimientosMotivosModel.getMyarray()";
</script>

问题是当我尝试序列化 json 时,所有双引号都被替换为 html 编码,而我的 json 变得一团糟......怎么能做到这一点?

4

1 回答 1

3

使用Json.Encode方法:

<script>
    _SERVER_["someVar"] = @Html.Raw(Json.Encode(SomeClass.Models.MovimientosMotivosModel.getMyarray()));
</script>

这将确保服务器端值被正确编码为您可以在客户端上访问的 javascript 对象。@Html.Raw另一方面,该方法不会像标准@Razor 函数那样对其进行 HTML 编码。

于 2013-02-21T21:55:13.740 回答