0
我有一个MVC控制器的以下功能如何通过knockoutjs视图模型为MVC控制器
public class XyzController:Controller
{
public ActionResult Index(){...}
[HttpPost]
public bool Save(string jsondata)
{
//parse json data to insert into the database
}
}
我想这个视图模型传递到保存功能
var myObj = function (id) {
var self = this;
self.myId = id;
self.parameters = ko.observableArray();
}
var ViewModel = function() {
var self = this;
self.myObjList = ko.observableArray();
self.sendItems = function() {
$.ajax({
type: "POST",
url: '/Xyz/Save',
data: ko.toJSON(self),
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (response) {
alert(response);
},
error: function (request, status, error) {
alert(request.statusText);
}
});
}
}
var vm = new ViewModel()
ko.applyBindings(vm);
我做得到如果我将数据作为JSON.stringify({jsondata:ko.toJSON(self)})传递数据,但是如何将其转换为对象以便我可以迭代myObjList和参数?
只要有操作方法接受任何的对象类型的对象。让模型联编程序完成这项工作。 – 2013-03-20 15:25:49
完全同意Andrew的观点:你绕开了MVC的天生能力之一。更改签名以接收目标对象类型,并让MVC为您执行映射。 – 2013-03-21 13:53:56