深度优先

这个家伙好懒,除了文章什么都没留下

0%

【前端】传递Json对象到MVC后台解析

时常在做批量删除或批量修改的时候经常需要传递一个数组集合到后台。

这时就需要考虑怎么在前端用ajax提交一个json数组到后台,而且后台怎么获得。

当然用拼接字符串,然后后台再做分割也是可以的。但是有更好的办法

一、ajax提交部分

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
var jsonData = [];//数组,存放要提交的数据集合
for (var i = 0; i < row.length; i++) {
//构造一个对象
var arr = {
EG_ID: row[i].EG_ID,
EG_MyNum: row[i].EG_MyNum,
}
//将对象存放在数据集合里面
jsonData.push(arr);
}

$.getJSON("@Url.Action("myDataExchang", "ExchangLogs")", {
//将提交的数据转换成json对象
jsonData: JSON.stringify(jsonData),
}, function (msg) {
DJMask.msg(msg);
}, "text");

二、MVC控制器获取数据

1
2
3
4
5
6
7
8
9
public ActionResult myDataExchang()
{
//获取提交的数据
string data = Request["jsonData"];
JavaScriptSerializer jss = new JavaScriptSerializer();
//将字符串转换成json--》EGList对象
List<EGList> list = jss.Deserialize<List<EGList>>(data);
//其他操作......
}

引用:using System.Web.Script.Serialization;

三、EGlist类

1
2
3
4
5
public class EGList
{
public int EG_ID { get; set; }
public int EG_MyNum { get; set; }
}