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();
     }
 }