0
我的模型:如何发布复杂模型以采取行动?定义
public class RulePageViewModel
{
public List<RuleItem> RuleItemList { get; set; }
public RuleViewModel RuleViewModel { get; set; }
}
我的行动定义:在viewmodel.RuleItemList
public JsonResult Save(RulePageViewModel viewmodel)
我尝试发布JSON,viewmodel.RuleItemList.Count> 0,但实例为null。 如果使用模型绑定,如何绑定视图中的列表?
我还没有尝试绑定模型,只需使用ajax来发布json即可。我认为它会工作,但未能代码:
var s = { "RuleItemList": [{ "RuleGroupId": 1, "RuleGroupName": "", "Keywords": "ajax", "ResponseDescribe": "dadhsa" }], "RuleViewModel": { "RuleGroupId": 14, "RuleList": [{ "RuleId": 567, "SourceId": 125, "KeyValue": "callback", "SourceType": 0 }], "SourceList": [] } };
var ss = JSON.stringify(s);
var json = JSON.parse(ss);
$.ajax({
url: '@Url.Action("Save")',
type: 'POST',
data: json,
dataType: 'json',
success: function(response) {
alert('success');
},
error: function(jqXHR, textStatus, errorThrown) {
alert(textStatus);
}
});
OK,我解决了这个问题:
var json = { "RuleItemList": [{ "RuleGroupId": 1, "RuleGroupName": "", "Keywords": "ajax", "ResponseDescribe": "dadhsa" }], "RuleViewModel": { "RuleGroupId": 14, "RuleList": [{ "RuleId": 567, "SourceId": 125, "KeyValue": "callback", "SourceType": 0 }], "SourceList": [] } };
$.ajax({
url: '@Url.Action("Save")',
type: 'POST',
data: JSON.stringify(json),
dataType: 'json',
contentType: 'application/json',
success: function(response) {
alert('success');
},
error: function(jqXHR, textStatus, errorThrown) {
alert(textStatus);
}
});
谢谢大家!
添加您的视图代码... – Mortalus 2013-02-28 03:38:36
是,添加您的视图代码。这是可能的,但模型联编程序必须能够从请求重建模型。 – 2013-02-28 03:40:18
[模型绑定到列表]上有一篇很好的帖子(http://haacked.com/archive/2008/10/23/model-binding-to-a-list.aspx) – 2013-02-28 04:54:42