public async Task <ActionResult> DeleteMenu(string ID) { try { if (!string.IsNullOrEmpty(ID)) { int menuid = Convert.ToInt32(ID); Menu findmenu = await MenuRepository.FindAsync(u => u.MenuID == menuid); if (findmenu != null) { List <Menu> Ldelete = new List <Menu>(); Ldelete.Add(findmenu); DeleteChild(Ldelete, menuid); if (MenuRepository.DeleteRange(Ldelete.AsEnumerable()) != 0) { //查找并删除菜单角色表中的数据 foreach (Menu item in Ldelete) { RoleMenu findrm = await RoleMenuRepository.FindAsync(r => r.MenuID == item.MenuID); if (findrm != null) { RoleMenuRepository.Delete(findrm); } } return(Json(new { Success = true })); } } } return(Json(new { Success = false })); } catch (Exception ex) { LogRepository.Add(new EventLog() { Name = Session["LoginedUser"].ToString(), Date = DateTime.Now.ToLocalTime(), Event = "删除菜单失败" + ex.Message }); return(Json(new { Success = false })); } }