UI层
1 <a href="#" onclick="DelData(0);return false;" id="a_del" class="easyui-linkbutton" iconcls="icon-cancel">删除</a>
UI中js:
1 //删除按钮事件 2 function DelData(id) { 3 $.messager.confirm('提示', '确认删除?', function (r) { 4 if (r) { 5 var selected = ""; 6 if (id <= 0) { 7 $($('#tab_list').datagrid('getSelections')).each(function () { 8 selected += this.ID + ","; 9 }); 10 selected = selected.substr(0, selected.length - 1); 11 if (selected == "") { 12 $.messager.alert('提示', '请选择要删除的数据!', 'info'); 13 return; 14 } 15 } 16 else { 17 selected = id; 18 } 19 $.post('/DataGrid/GetJson', { "action": "del", "cbx_select": selected }, function (data) { 20 $.messager.alert('提示', data, 'info', function () { $("#tab_list").datagrid("reload"); }); 21 }); 22 } 23 }); 24 }
MVC中控制器:
1.action:
1 [HttpPost] 2 public ActionResult GetJson() 3 { 4 UserManagerServiceClient client = new UserManagerServiceClient(); 5 6 string action = string.Empty; 7 if (Request.Form["action"] != "") 8 { 9 action = Request.Form["action"].ToString(); 10 } 11 switch (action) 12 { 13 case "query": //第一次进入页面时查询数据 14 string JsonString = QueryEmployee(client); 15 return Content(JsonString.ToString()); 16 case "submit": 17 string UpdateMsg = UpdateEmployInfo(client); 18 return Content(UpdateMsg); 19 case "queryone": 20 string JsonOneEmployee = QueryOneEmployee(client); 21 return Content(JsonOneEmployee); 22 case "del" : 23 string DelMsg = DelEmployees(client); 24 return Content(DelMsg); 25 default: 26 return Content(""); 27 }
2.DelEmployees()方法:
/// <summary> /// 删除员工信息 /// </summary> /// <param name="client"></param> /// <returns></returns> private string DelEmployees(UserManagerServiceClient client) { string msg = "删除失败!"; string selectedID = Request.Form["cbx_select"] != "" ? Request.Form["cbx_select"] : ""; if (selectedID != "" && selectedID !="0") { int delCount = client.DelEmployee(selectedID); // 从服务端返回的删除员工信息的个数 if (delCount > 0) { msg = string.Format("本次共删除了{0}条员工信息!", delCount); } } return msg; }
WCF服务端代码:EF中contains就 好似sql中的in
/// <summary> /// 删除员工信息 /// </summary> /// <param name="id"></param> /// <returns></returns> public int DelEmployee(string id) { int msg = 0; try { List<string> strID = id.Split(',').ToList(); List<int> arrayID = strID.ConvertAll(e => int.Parse(e)); using (UserManageDB db = new UserManageDB()) { using (TransactionScope transaction =new TransactionScope() ) { foreach (var employee in db.EmployeInfo.Where(e => arrayID.Contains(e.ID))) { db.EmployeInfo.Remove(employee); msg++; } db.SaveChanges(); transaction.Complete(); } } return msg; } catch (Exception ex) { throw ex; } }