Jquery 如何将网格数据以列表对象的形式发布到mvc中的控制器?
我正在尝试将网格值从视图发布到控制器。我已经通过javascript创建了网格,并将网格值输入到一个对象中Jquery 如何将网格数据以列表对象的形式发布到mvc中的控制器?,jquery,ajax,list,asp.net-mvc-4,Jquery,Ajax,List,Asp.net Mvc 4,我正在尝试将网格值从视图发布到控制器。我已经通过javascript创建了网格,并将网格值输入到一个对象中 $(".TCtable tr:gt(0)").each(function () { var this_row = $(this); var storeid= $.trim(this_row.find('td:eq(1)').html()); var status= $(this).find('td:eq(2)
$(".TCtable tr:gt(0)").each(function () {
var this_row = $(this);
var storeid= $.trim(this_row.find('td:eq(1)').html());
var status= $(this).find('td:eq(2) input[type="checkbox"]:checked').val()?true:false;
var object = {
storeid: storeid,
status: status
};
array.push(object);
我使用json将此发布到控制器
$.ajax({
url: '@Url.Action("Savedetails", "Field")',
type: 'POST',
//contentType: "application/json; charset=utf-8",
datatype: 'json',
//data:jsonText,
data:{jsonPackage:JSON.stringify(array)},
success: function (response) {
},
error: function (error) {
}
});
我的控制器是
public JsonResult SaveDetails(List<FieldAssignmentGridViewModel> data)
{
}
public JsonResult SaveDetails(列表数据)
{
}
这些值将显示在数组列表中。但我无法将此json对象发送到控制器。列表变为空。谁能帮帮我吗。
如何在控制器中获取列表?为什么您不只是发回您的模型?您能告诉我如何做到这一点吗?我是通过javascript加载网格的。如果数据是以json格式发送的,为什么不使用Javascriptdeserilizer在列表中进行反序列化呢?假设您的视图是
@model list
,并且您使用for
循环中的html帮助程序或使用编辑模板
正确构建html,那么它只需要是数据:$('form').serialize(),
。但是对于您现有的代码,我怀疑您还需要添加传统:true,
,因为您没有发回索引属性名。另外请注意,如果您使用JSON.stringify()
,则需要设置contentType:“application/JSON;charset=utf-8”,
(否则不要使用.stringify())
)