zoukankan      html  css  js  c++  java
  • 基于吉日嘎拉的通用权限管理Webform版老界面bug修复

    虽然弄了新界面《基于吉日嘎底层架构的通用权限管理Web端UI更新:参考DTcms后台界面》,但老界面的一点菜单显示的问题还是让我这种强迫症揪心,终于今晚可以美美的睡觉了。

      老代码用了Session来控制顶部的菜单和左侧的菜单,原BaseUserControl.Permission.cs代码如下

    //#region protected List<BaseModuleEntity> ModuleList 获取模块数据表
        ///// <summary>
        ///// 获取模块数据表
        ///// </summary>
        //public List<BaseModuleEntity> ModuleList
        //{
        //    get
        //    {
        //        lock (BaseSystemInfo.UserLock)
        //        {
        //            // 判断是否有数据,若没数据自动读取一次
        //            if (HttpContext.Current.Session == null || HttpContext.Current.Session["UserModuleList"] == null)
        //            {
        //                // 这里进行了菜单优化,出错问题
        //                this.GetModuleList();
        //            }
        //        }
        //        return Utilities.GetFromSession("UserModuleList") as List<BaseModuleEntity>;
        //    }
        //    set
        //    {
        //        Utilities.AddSession("UserModuleList", value);
        //    }
        //}
        //#endregion
    
        //#region protected void GetModuleList() 获模块列表
        ///// <summary>
        ///// 获模块列表
        ///// </summary>
        //protected void GetModuleList()
        //{
        //    lock (BaseSystemInfo.UserLock)
        //    {
        //        if (HttpContext.Current.Session == null || HttpContext.Current.Session["UserModuleList"] == null)
        //        {
        //            // 这个是默认的系统表名称
        //            DotNetService dotNetService = new DotNetService();
        //            ModuleList = dotNetService.PermissionService.GetPermissionListByUser(this.UserInfo, BaseSystemInfo.SystemCode, this.UserInfo.Id, string.Empty, true);
        //        }
        //    }
        //}
        //#endregion
    
        #region protected List<BaseModuleEntity> ModuleList 获取模块数据表
        /// <summary>
        /// 获取模块数据表
        /// </summary>
        public List<BaseModuleEntity> ModuleList()
        {
            //return this.GetModuleList();
            return Utilities.GetUserPermissionList(this.UserInfo, this.UserInfo.Id);
        }
        #endregion

    现改为函数获取,统一使用Utilities.GetUserPermissionList中的Cache,抛弃Session。这样多个用户在同一台电脑切换登录的时候,顶部菜单和左侧菜单的显示就啥问题也没有了。

    #region protected List<BaseModuleEntity> ModuleList 获取模块数据表
        /// <summary>
        /// 获取模块数据表
        /// </summary>
        public List<BaseModuleEntity> ModuleList()
        {
            //return this.GetModuleList();
            return Utilities.GetUserPermissionList(this.UserInfo, this.UserInfo.Id);
        }
        #endregion

    昨天程序员节日,没顾上发表意见,今天补充一下:

    1、作为程序员,扎实的英文基础还是很重要的,希望这是吉日嘎拉的手误。

    2、用户用得爽,操作步骤少,速度快,记录准,操作灵活,省时省力,老板节约成本、提交效率、钱赚的更多,管你用啥高深技术还是最新的技术!

  • 相关阅读:
    %和format的区别
    C++ 使用 curl 进行 http 请求(GET、POST、Download)的封装
    C++ log4cplus 类库的封装
    linux top 命令
    python使用urllib2 http 下载参数的try catch
    C 小白的 thrift 环境搭建
    pandas 必背函数操作
    flask + MySQL-python 创建 webapp 应用
    python 的 virtualenv 环境搭建及 sublime 手动创建运行环境
    nginx proxy_pass指令’/’注意事项
  • 原文地址:https://www.cnblogs.com/cuiwenyuan/p/5997943.html
Copyright © 2011-2022 走看看