您的位置:首页 > 编程语言 > ASP

asp.net mvc ajax传递给后台数组参数

2017-09-24 20:18 246 查看
        项目中有一个功能是需要前台传递一个数组参数给后台,用的架构是asp.net mvc前台的页面需要传递一个数组参数给controller。后台接收的时候数组一直为null,试了各种方法也不行。

        下面看一下具体的代码,以及解决方法

前台代码      

var _list = [];

for (var i = 0; i < checkedRow.length; i++) {
_list[i] = checkedRow[i].ID;
}

$.ajax({
url: '@Url.Action("SetCallBackStatus")',
data: { "selectedIDs": _list },
//data: _list,
dataType: "json",
type: "POST",
traditional: true,
success: function (responseJSON) {
// your logic
alert('Ok');
}
});
注意:

1、_list是一个数组

2、ajax参数中data为{“selectedIDs”:_list}

3、这种方式比较重要的就是traditional:true。或者将_list参数转换一下$.param(_list.true)。这里其实就是将_list作为传统的方式传递给后台,jQuery默认是做了转换的

后台代码

public ActionResult SetCallBackStatus(List<int> selectedIDs)
{
string result = "ok";
string errMsg = "";

return this.JsonFormat(new { result = result, errMsg = errMsg });
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: