0

私はasp.net mvc4で作業しています.ViewBagからデータを読み取る方法、私のViewBagはジェネリックリストです.JavaScriptからデータ(ビューバッグ)にアクセスしたいと思います.

コントローラーからビューに一般的なリストを渡しています。このリストは、ここでドロップダウンリストを読み込むのに役立ちます。ドロップダウンリストをロードする以外に、ドロップダウンリストの値がリストのデータでテキストボックスを更新するときに、いくつかの一般的なリストデータにアクセスする必要があります

4

4 に答える 4

1

ASP.NET コードから JS レイヤーにデータをやり取りする最も簡単な方法の 1 つは、オブジェクトをシリアル化し、そのシリアル化を JS オブジェクトとしてビューにレンダリングすることです。次に例を示します。

// helper extension method
public static string ToJSON(this object o)
{
    var oSerializer = new System.Web.Script.Serialization.JavaScriptSerializer();
    return oSerializer.Serialize(o);
}

コントローラーの内部:

Viewbag.Foo = myObj.ToJSON();

次に、View 内で、シリアル化された obj をリテラル JavaScript として吐き出すだけです。

var json = @Html.Raw(Viewbag.Foo); // mix of Razor and JS here! 

実行時にソースを表示すると、ビューのそのセクションに次のようなものが表示されます。

var json = {"prop1":true, "arrayItems":[{ "prop1": "dog" }, { "prop": "car" }]}
于 2013-06-25T19:48:58.870 に答える