2

私の終わりの直前に<body>私はしようとしてい ます

<script type="text/javascript">
    @{ Html.RenderAction("RenderData4JS", "Helper"); }
</script>

Json(Data4JS) を返します。基本的にJsonを出力するだけなので、jQueryでアクセスできます。

これを行うと、Web ページ全体に HTML ソースが表示されます (Web サイト全体のコンテンツ タイプを変更する必要があります)。

どうすればこれを回避できますか、または別の方法がありますか? (私はAJAXをしたくありません)

4

2 に答える 2

1

わかりました、私はそれを行う方法を考え出しました(エレガントに十分に)

// ActionResult アクションで

return Content(GlobalHelper.ObjectToJson("GeneralData", Data4JS.Get()));

//いくつかのユーティリティ クラスで:

public static string ObjectToJson(string objectName, object o)
        {
            System.Web.Script.Serialization.JavaScriptSerializer jsonSerializer = new System.Web.Script.Serialization.JavaScriptSerializer();
            return "{\"Data4JS\":" + jsonSerializer.Serialize(o) + "}";
        }
于 2012-08-13T07:29:23.613 に答える
0

そのアクションの結果を何らかのオブジェクト (「おそらく文字列」) に取得し、そのビューのモデルとして使用しているオブジェクトと共に返すことができます。スクリプト セクションで、その変数を渡すことができます。

<script type="text/javascript">
var x =  @Model.test
...Do whatever you need with the test string
</script>

ただし、これはお勧めしません。JQuery で ajax 呼び出しを行う方がよいと思います。

于 2012-08-13T07:34:51.927 に答える