从方法编写JSON文字

时间:2013-02-21 21:50:42

标签: c# json razor

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

我尝试做的事情就像是

/*Some view*/

@{
    ViewBag.Title = "Some title";         

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

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

1 个答案:

答案 0 :(得分:3)

使用Json.Encode方法:

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

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