/// <summary> /// 保存数据 /// </summary> /// <param name="mod"></param> /// <returns></returns> #region public string Save(Mpr_Admin_Menu mod, List <Mpr_Admin_ButtonRole> List) { ReturnJson Rejson = new ReturnJson(); if (mod.ID == 0) { //添加 mod.Sort = 1; mod.AddTime = DateTime.Parse(DateTime.Now.ToString()); mod = MenuService.Insert(mod); if (mod != null) { foreach (var item in List) { item.PageID = mod.ID; } SaveBtnRole(List); Rejson.Code = "0"; Rejson.Errmsg = "Add success"; } else { Rejson.Code = "1"; Rejson.Errmsg = "Add failed"; } } else { //修改 //尝试通过ID获取数据库内已有信息 Mpr_Admin_Menu DBmod = MenuService.GetModel(s => s.ID == mod.ID); if (DBmod != null) { EntityToEntity(mod, ref DBmod); DBmod = MenuService.Update(DBmod); if (DBmod != null) { SaveBtnRole(List); Rejson.Code = "0"; Rejson.Errmsg = "保存成功"; } else { Rejson.Code = "1"; Rejson.Errmsg = "保存失败"; } } else { Rejson.Code = "1"; Rejson.Errmsg = "保存失败"; } } return(ToJson(Rejson)); }
/// <summary> /// 递归方法 /// </summary> /// <param name="ParenId"></param> /// <returns></returns> public string GetDGHtml(int ParenId) { string html = ""; //通过传入的上级ID获取下级列表数据,如果存在则开始递归,如果不存在则跳出递归 List <Mpr_Admin_Menu> ListMenu = MenuService.FindByParam(s => s.RightParent == ParenId); //获取全部按钮信息列表 List <Mpr_Admin_ButtonRole> ButtonList = ButtonRoleService.FindAll(); if (ListMenu.Count > 0) { //开始返回数据 html += "<ul style=\"list-style:none; margin-left: 5%;\">"; //获取下级数据信息 foreach (var item in ListMenu) { html += "<li><input type=\"checkbox\" name=\"menuinfo\" id=\"menuinfo_" + ParenId + "_" + item.ID + "\" value=\"" + item.ID + "\" />"; html += item.RightName; Mpr_Admin_Menu Exmod = MenuService.GetModel(s => s.RightParent == item.ID); if (Exmod != null) { //继续尝试递归 html += GetDGHtml(item.ID); } html += "</li>"; if (item.IsButton == 1) { //判断当前是否存在对应按钮数据信息 List <Mpr_Admin_ButtonRole> NowButtonList = ButtonList.Where(s => s.PageID == item.ID).ToList(); if (NowButtonList.Count > 0) { //标示当前页面存在可操作按钮,开始拼接一个LI内的UL html += "<li>"; html += "<ul style=\"list-style:none;margin-left:5px;\">"; foreach (var Buttonitem in NowButtonList) { html += "<li><input type=\"checkbox\" name=\"IsButton\" id=\"IsButton_" + Buttonitem.PageID + "_" + Buttonitem.ID + "\" value=\"" + Buttonitem.ID + "\" />" + Buttonitem.Operation + "</li>"; } html += "</ul>"; html += "</li>"; } } } html += "</ul>"; } return(html); }
public string Controller(string Type) { string Result = ""; switch (Type) { case "GetModel": Result = Getmode(Request["ID"].ToString()); break; case "save": Mpr_Admin_Menu Mod = JsonConvert.DeserializeObject <Mpr_Admin_Menu>(Request["data"]); List <Mpr_Admin_ButtonRole> RoleList = JsonConvert.DeserializeObject <List <Mpr_Admin_ButtonRole> >(Request["roledata"]); Result = Save(Mod, RoleList); break; } return(Result); }