public ActionResult Delete(List <int> ids, MenuListVM _menuListVM) { try { foreach (var id in ids) { string image = _menuListVM.Image; _menusService.Delete(id); //Varsa menü resmini de silelim string filePath = HttpContext.Server.MapPath("/Uploads/Menus/" + id + "/" + image); if (System.IO.File.Exists(filePath)) { System.IO.File.Delete(filePath); } var menuInfo = _menuInfoService.Get(x => x.MenuID == id); _menuInfoService.Delete(menuInfo.MenuInfoID); } TempData.Add("message", "Menü başarıyla silindi."); return(RedirectToAction("index")); } catch (Exception ex) { TempData.Add("message", "Menü silme işlemi yapılırken hata ile karşılaşıldı. Hata: " + ex.Message); return(View()); } }
/// <summary> /// 生成系统菜单树 /// </summary> /// <param name="menus"></param> /// <param name="parentId"></param> /// <returns></returns> public static List <MenuListVM> ResolveMenuTree(List <Sys_Menu> menus, string parentId = null) { List <MenuListVM> resultMenus = new List <MenuListVM>(); foreach (var menu in menus.Where(m => m.ParentUID == parentId).OrderBy(m => m.SortIndex)) { var childrenMenu = ResolveMenuTree(menus, menu.ID); MenuListVM menusVM = new MenuListVM { ID = menu.ID, Name = menu.Name, Type = menu.Type, Icon = menu.Icon, Path = menu.Path, Component = menu.Component, SortIndex = menu.SortIndex, ViewPower = menu.ViewPower, ParentUID = menu.ParentUID, Remark = menu.Remark, Hidden = menu.Hidden, System = menu.System, isFrame = menu.isFrame, KeepAlive = menu.KeepAlive, Children = childrenMenu.Count == 0 ? null : childrenMenu, CreateTime = menu.CreateTime, UpdateTime = menu.UpdateTime, CreateID = menu.CreateID, CreateName = menu.CreateName, UpdateID = menu.UpdateID, UpdateName = menu.UpdateName }; resultMenus.Add(menusVM); } return(resultMenus); }