先說一下我的業務需求,挺簡單的。
就是在設計角色和權限的頁面中,需要一個角色對應多條權限記錄,那麼在保存的時候,我的處理方式是,先刪除該角色的所有權限,然後再保存所有的權限。
這樣的話問題就來了,用默認的方式好像不滿足我的需求,因爲我需要一次傳遞多條權限記錄給後臺,網上搜索後,終於找到了方法,代碼如下:
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的代碼可能需要根據你設計的數據格式進行更改