public ActionResult GetRoleMenuRelation()
        {
            int roleID = WebRequestHelper.GetIntFromParameters("RoleID");

            DHTMLXTreeModel menuTree = SystemRoleMenuRelationBusiness.GetMenuTree(roleID);
            string          f        = JsonConvert.SerializeObject(menuTree).Replace("Checked", "checked");

            return(Json(f));
        }
        public ActionResult GetTreeSencondMenu()
        {
            int             parentMenuID   = WebRequestHelper.GetIntFromParameters("ParentMenuID");
            DHTMLXTreeModel treeSecondMenu = SystemMenuInfoBusiness.GetTreeSencondMenu(this.CurrentUser.Account, parentMenuID);

            string f = JsonConvert.SerializeObject(treeSecondMenu);

            return(Json(f));
        }
Beispiel #3
0
        public static DHTMLXTreeModel GetTreeSencondMenu(string account, int parentMenuID)
        {
            List <SystemMenuInfoModel> menuInfoList = SystemMenuInfoDataAccess.GetSystemMenuInfoListByAccount(account);

            menuInfoList = menuInfoList.Where(m => m.ParentMenuID == parentMenuID).ToList();

            DHTMLXTreeModel treeSencondMenu = SystemRoleMenuRelationBusiness.GetTreeMenu(menuInfoList, parentMenuID);

            return(treeSencondMenu);
        }
        public static DHTMLXTreeModel GetTreeMenu(List <SystemMenuInfoModel> menuInfoList, int parentMenuID)
        {
            //验证菜单是否已经添加
            Hashtable htMenuID = new Hashtable();

            DHTMLXTreeModel treeMenu = new DHTMLXTreeModel();

            CreateTreeMenu(htMenuID, treeMenu, menuInfoList, parentMenuID, true);

            return(treeMenu);
        }
        private static void CreateTreeMenu(Hashtable htMenuID, DHTMLXTreeModel treeMenu, List <SystemMenuInfoModel> menuInfoListTemp, int parentMenuID, bool isFirst)
        {
            List <SystemMenuInfoModel> menuInfoList = new List <SystemMenuInfoModel>();

            //第一级菜单(如果真,只循环ParentMentID对应的菜单)
            if (isFirst)
            {
                menuInfoList = menuInfoListTemp.Where(m => m.ParentMenuID == parentMenuID).ToList <SystemMenuInfoModel>();
            }
            else
            {
                menuInfoList = menuInfoListTemp;
            }

            foreach (var menuInfo in menuInfoList)
            {
                if (!htMenuID.ContainsKey(menuInfo.MenuID))
                {
                    htMenuID.Add(menuInfo.MenuID, menuInfo.MenuID);

                    DHTMLXTreeModel subTreeMenu = new DHTMLXTreeModel();
                    subTreeMenu.id      = menuInfo.MenuID;
                    subTreeMenu.text    = menuInfo.MenuName;
                    subTreeMenu.im0     = menuInfo.MenuImage;
                    subTreeMenu.im1     = string.Empty;
                    subTreeMenu.im2     = string.Empty;
                    subTreeMenu.Checked = menuInfo.IsChecked;

                    subTreeMenu.userdata.Add(new UserData()
                    {
                        name = "URL", content = menuInfo.MenuURL
                    });
                    subTreeMenu.PID = menuInfo.ParentMenuID;
                    treeMenu.item.Add(subTreeMenu);

                    List <SystemMenuInfoModel> subMenuInfoList = menuInfoListTemp.Where(m => m.ParentMenuID == menuInfo.MenuID).ToList <SystemMenuInfoModel>();
                    if (subMenuInfoList.Count > 0)
                    {
                        CreateTreeMenu(htMenuID, subTreeMenu, subMenuInfoList, menuInfo.ParentMenuID, false);
                    }
                }
            }
        }