コード例 #1
0
ファイル: HomeController.cs プロジェクト: windygu/zcgl
        /// <summary>
        /// 获取导航菜单
        /// </summary>
        /// <param name="id">所属</param>
        /// <returns>树</returns>
        public JsonResult GetTree(string id)
        {
            string appid  = id;
            var    _resid = 0;

            if (!string.IsNullOrEmpty(id))
            {
                int.TryParse(id, out _resid);
            }
            var _appid = 0;

            if (!string.IsNullOrEmpty(appid))
            {
                int.TryParse(appid, out _appid);
            }

            if (Session["Account"] != null)
            {
                //AccountModel account = (AccountModel)Session["Account"];
                TJsonList <EAP_Resource> menus = null;
                if (Session["myMenu"] != null)
                {
                    menus = (Session["myMenu"]) as TJsonList <EAP_Resource>;
                }
                else
                {
                    SourceOP _SourceOP = new SourceOP(LoginUser);
                    menus             = _SourceOP.GetMyMenu(_appid, 0);
                    Session["myMenu"] = menus;
                }

                //下级
                // List<SysModule> _menus = homeBLL.GetMenuByPersonId(account.Id, id);
                var jsonData = (
                    from m in menus where m.ParentId == _resid
                    select new
                {
                    id = m.ID.ToString(),
                    text = m.Name,
                    value = m.PageId,
                    showcheck = false,
                    complete = false,
                    isexpand = false,
                    checkstate = 0,
                    hasChildren = menus.Exists((x) => { return(x.ParentId == m.ID); }),    //需要处理是否有下级的问题;
                    Icon = m.Image
                }
                    ).ToArray();
                return(Json(jsonData, JsonRequestBehavior.AllowGet));
            }
            else
            {
                return(Json("0", JsonRequestBehavior.AllowGet));
            }
        }