什么对象应该传递给serialize()和如何在Knockoutjs文件中使用ViewBag
本文关键字:Knockoutjs 文件 ViewBag 对象 serialize 什么 | 更新日期: 2023-09-27 18:14:27
我正试图使用字典从控制器发送数据到Knockoutjs,如下所述:在ASP之间发送和接收数据。. NET MVC和Knockout.js但我不明白我应该传递哪个属性来序列化。序列化(????)以及如何获得ViewBag。
问题1:
我应该在这里使用哪个对象?:
var serializer = new System.Web.Script.Serialization.JavaScriptSerializer();
var Data = new Dictionary<String, Object>()
{
{"objName1", _objName1Service.GetAsync().Result},
{"objName2", _objName2Service.GetAsync().Result},
};
ViewBag.myData = serializer.Serialize(????);
问题2:
在Knockout.js中与此指令等价的是什么?
var myData = @Html.Raw(ViewBag.myData);
使用一些库(如Json)序列化对象。. NET(由Rob G推荐)。
string output = JsonConvert.SerializeObject(yourObject);
发送json对象到View,使用ViewBag
ViewBag.YourJsonObject = output;
将json对象打印到html隐藏字段
<input type="hidden" id="myHiddenField" value="@ViewBag.YourJsonObject" />
使用html hidden字段设置knockout的可观察对象
var myData = ko.observable($('#myHiddenField').val());