我想在cshtml页面(razor)中打印一个json文字,我想在javascript中填充json对象并在页面加载时准备好,而不是等到页面加载然后进行ajax调用
我尝试做的事情就像是
/*Some view*/
@{
ViewBag.Title = "Some title";
}
<script>
_SERVER_["someVar"] ="@SomeClass.Models.MovimientosMotivosModel.getMyarray()";
</script>
问题是,当我尝试序列化json时,所有双引号都被替换为html编码而我的json变得一团糟...怎么能实现这个?
答案 0 :(得分:3)
使用Json.Encode
方法:
<script>
_SERVER_["someVar"] = @Html.Raw(Json.Encode(SomeClass.Models.MovimientosMotivosModel.getMyarray()));
</script>
这将确保将服务器端值正确编码为您可以在客户端上访问的javascript对象。另一方面,@Html.Raw
方法不会像标准@
Razor函数那样对其进行HTML编码。