我有以下域模型定义:从jquery的AJAX传递复杂对象行动在asp.net MVC
public class myModel {
public string Prop1 {get;set;}
public string Prop2 {get;set;}
public List<myClass> ListofStuff {get;set;}
}
public myClass {
public string Id{get;set;}
public string Name{get;set;}
}
然后我已经定义了控制器动作如下:
[HttpPost]
public ActionResult Save(MyModel someModel)
{
//do the saving
}
我请从我的JS代码上面的动作使用jQuery AJAX
var someModel = { Prop1: "somevalue1",
Prop2: "someothervalue",
ListofStuff: [{Id: "11", Name:"Johnny"}, {Id:"22", Name:"Jamie"}]
};
$.ajax({
contentType: 'application/json, charset=utf-8',
type: "POST",
url: "/myController/Save",
data: JSON.stringify({someModel: someModel}),
cache: false,
dataType: "json",
success: function() {
alert('success!');
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
alert('error');
}
});
编辑: 当我运行上面的代码我得到错误处理程序得到执行。我试图安装Firebug,但我的FF是版本8,它无法安装它。所以我不确定错误是什么或者怎么看这是什么。
我在做什么错?
你需要告诉我们什么JSON.stringify(someModel)的值! –
我会编辑,谢谢 – sarsnake
你仍然可以调用服务器端的代码,所以你应该能够设置一个断点在保存方法,看看模型结合是正确的,对不对? –