public ActionResult Menu(string roleids) { var ct = new DB(); //var role = ct.Role.Where(c => c.RoleID == 1).FirstOrDefault(); var role = ct.Role.Where(c => c.RoleID == 1).FirstOrDefault(); var roleMenu_Rs = role.Menu; string menuids = string.Empty; foreach (var i in roleMenu_Rs) { menuids = menuids + i.MenuID + ","; } ; menuids = menuids.Substring(0, menuids.Length - 1); var menus = menuDAL.GetModelList(string.Format(" MenuID IN ({0})", menuids)); if (menus != null && menus.Count > 0) { menus = menus.Distinct().ToList(); List <JsonMenuModel> jsonMenuModels = new List <JsonMenuModel>(); foreach (var menu in menus) { string id = menu.MenuID.ToString(); string name = menu.MenuName; string pid = menu.PID.ToString(); JsonMenuModel model = new JsonMenuModel() { id = id, name = name, open = true, pId = pid, url = menu.Url, icon = "", title = name }; jsonMenuModels.Add(model); } //HttpPost请求局部刷新时走这里 if (Request.IsAjaxRequest()) { return(PartialView("_PartialMenu", jsonMenuModels)); } return(View(jsonMenuModels)); } //this.HttpContext.Server.Transfer("~/login.html"); //return Redirect("~/login.html"); return(View()); }
public ActionResult GetMenuJsonByRole(int?roleid) { //string msg = "加载失败"; //bool check=false; try { //var menuList = null; if (roleid.HasValue) { //var role = roleDAL.GetRoleByID(roleid.Value); //var roleMenu_Rs = bllRoleMenu_R.GetModelList(string.Format(" RoleID={0}", roleid)); var roleMenu_Rs = roleDAL.GetRoleByID(roleid.Value).Menu; var menus = menuDAL.GetModelList("1=1"); var menuList = from m in menus join rm in roleMenu_Rs on new { m.MenuID } equals new { rm.MenuID } into temp //.Where(r => a.AccountID == item.AccountID); from tt in temp.DefaultIfEmpty() select new { m , ischecked = (tt == null ? false : true) }; List <JsonMenuModel> jsonMenuModels = new List <JsonMenuModel>(); foreach (var menu in menuList) { string id = menu.m.MenuID.ToString(); string name = menu.m.MenuName; string pid = menu.m.PID.ToString(); bool ischecked = menu.ischecked; JsonMenuModel model = new JsonMenuModel() { id = id, name = name, open = true, pId = pid, url = "", icon = "", title = name, ischecked = ischecked }; jsonMenuModels.Add(model); } return(Json(jsonMenuModels)); } else { var menuList = menuDAL.GetModelList("1=1"); List <JsonMenuModel> jsonMenuModels = new List <JsonMenuModel>(); foreach (var menu in menuList) { string id = menu.MenuID.ToString(); string name = menu.MenuName; string pid = menu.PID.ToString(); JsonMenuModel model = new JsonMenuModel() { id = id, name = name, open = false, pId = pid, url = "", icon = "", title = name }; jsonMenuModels.Add(model); } return(Json(jsonMenuModels)); } //if (menuList != null && menuList.Count() > 0) //{ //StringBuilder sb = new StringBuilder(); //sb.Append("["); //sb.Append("{\"id\": 0, \"pId\": \"-1\", \"name\": \"OA \", \"open\": \"true\" ,\"title\":\"OA\"},"); //foreach (var menu in menuList) //{ // string id = menu.MenuID.ToString(); // string name = menu.MenuName; // string pid = menu.PID.ToString(); // JosnMenuModel model = new JosnMenuModel() { id = id, name = name, open = false, pId = pid, url = "", icon = "", title = name }; // sb.Append(JsonHelper.DropToJson<JosnMenuModel>(model,"JSON")); //} ////替换掉最后一个逗号 //sb.Replace(",", "", sb.Length - 1, 1); //sb.Append("]"); //} //viewModel.Menus = menuList; //List<Model.OA.Menu> menu; //return RedirectToAction("Index"); } catch { return(Content(string.Empty)); //return View(); } }