예제 #1
0
        // GET: SystemMenu

        public ActionResult Index()
        {
            //查出所有菜单并生成菜单树
            var menu      = SystemMenuHelper.GetList();
            var newMenu   = CreateMenu(menu, 0);
            var subHeader = new SubHeader {
                Title = "菜单列表", PageTitle = "菜单列表", SubPageTitle = "所有菜单", LinkText = new Dictionary <string, string>()
            };

            ViewData["SubHeader"] = subHeader;
            return(View(newMenu));
        }
        private List <ViewMenu> GetItemsAsync()
        {
            var UserString = HttpContext.Session.GetString("UserInfo");

            if (string.IsNullOrEmpty(UserString))
            {
                return(new List <ViewMenu>());
            }
            var SysUser  = JsonConvert.DeserializeObject <SessionUser>(UserString);
            var MenuList = new List <SystemMenu>();

            MenuList = SystemMenuHelper.GetList(p => SysUser.AuthMenu.Contains(p.Id) && p.Type == SystemMenu_Type_Enum.菜单 && p.IsUse == true);
            //菜单树
            var NowAction = HttpContext.Request.Path.ToString().ToLower();
            var Action    = MenuList.Where(p => p.ActionRoute == NowAction).Last();
            var Menu      = GetMenu(MenuList, 0, NowAction);

            UpdateParentMenuChecked(Menu, Action.ParentId);
            ViewBag.NowAction = NowAction;
            return(Menu);
        }
        public ActionResult Menu(int id)
        {
            if (id == 0)
            {
                return(new RedirectResult("/home/errormsg?msg=" + WebUtility.UrlEncode("错误的请求方式!")));
            }
            //先查角色
            var roleModel = SystemRoleHelper.GetModel(p => p.Id == id);

            if (roleModel == null)
            {
                return(new RedirectResult("/home/errormsg?msg=" + WebUtility.UrlEncode("不存在的角色!")));
            }
            //在查角色对应的菜单
            var menuList = RoleAuthMappingHelper.GetList(p => p.RoleId == id);

            //在查当前用户拥有的菜单
            SystemMenuHelper.Columns.CreatedTime.SetOrderByAsc();
            var allMenu = SystemMenuHelper.GetList(p => p.IsUse == true && CacheUser.AuthMenu.Contains(p.Id), orderBy: SystemMenuHelper.Columns.CreatedTime);

            //递归菜单做成树
            return(Json(ResponseHelper.Success(CreateTree(allMenu, menuList, 0))));
        }