mvc web api 保存多个实体类的方法

先说一下我的业务需求,挺简单的。

就是在设计角色和权限的页面中,需要一个角色对应多条权限记录,那么在保存的时候,我的处理方式是,先删除该角色的所有权限,然后再保存所有的权限。

这样的话问题就来了,用默认的方式好像不满足我的需求,因为我需要一次传递多条权限记录给后台,网上搜索后,终于找到了方法,代码如下:

    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的代码可能需要根据你设计的数据格式进行更改

 

posted on 2015-04-21 19:59  我是流氓  阅读(975)  评论(0编辑  收藏  举报

导航