先说一下我的业务需求,挺简单的。
就是在设计角色和权限的页面中,需要一个角色对应多条权限记录,那么在保存的时候,我的处理方式是,先删除该角色的所有权限,然后再保存所有的权限。
这样的话问题就来了,用默认的方式好像不满足我的需求,因为我需要一次传递多条权限记录给后台,网上搜索后,终于找到了方法,代码如下:
public bool Add([FromBody]JObject Entity) { dynamic jObj = Entity; var list = jObj.Value; List<authorization> result = new List<authorization>(); for (int i = 0; i < list.Count; i++) { authorization e = (list[i] as JObject).ToObject<authorization>(); e.ID = Helper.GetGUID(); result.Add(e); } return DB.SaveLimits(result) ; }
前台调用的方法和以前一样,只是传递参数时需要重新设计一下数据格式:
var data = {Value:[{实体类json格式},{实体类json格式},{实体类json格式}]};
$.ajax({ url: ‘/api/Authorization/‘, type: ‘POST‘, data: JSON.stringify(data), contentType: ‘application/json; charset=utf-8‘, success: function (data) { $.messager.alert(‘提示信息‘, ‘数据保存成功...‘, ‘info‘); }, error: function () { $.messager.alert(‘提示信息‘, ‘数据保存失败...‘, ‘error‘); } });
ps:后台cs的代码可能需要根据你设计的数据格式进行更改
原文:http://www.cnblogs.com/liumang/p/4445309.html