FineUI 官方论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

本论坛已关闭(禁止注册、发帖和回复)
请移步 三石和他的朋友们

FineUI首页 WebForms - MVC & Core - JavaScript 常见问题 - QQ群 - 十周年征文活动

FineUI(开源版) 下载源代码 - 下载空项目 - 获取ExtJS - 文档 在线示例 - 版本更新 - 捐赠作者 - 教程

升级到 ASP.NET Core 3.1,快、快、快! 全新ASP.NET Core,比WebForms还简单! 欢迎加入【三石和他的朋友们】(基础版下载)

搜索
查看: 1367|回复: 0
打印 上一主题 下一主题

忘记带优盘,这样保存自己的代码,求别删除(毕业设计)

[复制链接]
跳转到指定楼层
楼主
发表于 2014-3-18 15:25:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#region PageLoad

        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                string result = JsonConvert.SerializeObject(GetMenuData());
                Response.Write(result);
                Response.End();
            }
        }

        #endregion

        #region 根据用户权限配置菜单

        public List<Menu> GetMenuData()
        {
            List<Menu> listMenu = new List<Menu>();
            using (var ctx = new HSQDataDataContext())
            {
                var list1 = from p in ctx.OT_Menu
                            where p.ParentMenuId == 0
                            select p.Id;
                foreach (var l in list1)
                {
                    var lm = from p in ctx.OT_Menu
                             from q in ctx.OT_Module
                             where p.ModuleId == q.Id && p.Id == l
                             select q.Name;

                    if (PowerCheck(lm.First(), "浏览"))
                    {
                        var list2 = from p in ctx.OT_Menu
                                    where p.Id == l
                                    select p;
                        Menu temp = new Menu();
                        temp.Id = list2.SingleOrDefault().Id;
                        temp.NavigateUrl = list2.SingleOrDefault().NavigateUrl;
                        temp.ParentId = (int)list2.SingleOrDefault().ParentMenuId;
                        temp.Title = list2.SingleOrDefault().Title;
                        listMenu.Add(temp);
                        ResvlutionMenu(l, listMenu);
                    }
                }
            }
            return listMenu;
        }

        /// <summary>
        /// 取出id菜单的子菜单
        /// </summary>
        /// <param name="Id">父菜单Id</param>
        /// <param name="list">引用传递</param>
        private void ResvlutionMenu(int Id, List<Menu> list)
        {
            using (var ctx = new HSQDataDataContext())
            {
                var lm = from p in ctx.OT_Menu
                         from q in ctx.OT_Module
                         where p.ModuleId == q.Id && p.ParentMenuId == Id
                         select q.Name;

                if (PowerCheck(lm.First(), "浏览"))
                {
                    var list1 = from p in ctx.OT_Menu
                                where p.ParentMenuId == Id
                                select p;
                    foreach (var l in list1)
                    {
                        Menu temp = new Menu();
                        temp.Id = l.Id;
                        temp.NavigateUrl = l.NavigateUrl;
                        temp.ParentId = (int)l.ParentMenuId;
                        temp.Title = l.Title;
                        list.Add(temp);
                        ResvlutionMenu(l.Id, list);
                    }
                }
            }
        }

        [Serializable]
        public class Menu
        {
            public int Id { get; set; }
            public int ParentId { get; set; }
            public string Title { get; set; }
            public string NavigateUrl { get; set; }
        }

        #endregion

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|FineUI 官方论坛 ( 皖ICP备2021006167号-1 )

GMT+8, 2024-9-30 12:10 , Processed in 0.043400 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表