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オブジェクトに適切にエンコードされます。一方、このメソッドは、標準のRazor関数@Html.RawのようにHTMLエンコードしません。@

于 2013-02-21T21:55:13.740 に答える