加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

ASP.NET – 如何从数据库有效地创建动态用户特定菜单

发布时间:2020-12-16 07:45:09 所属栏目:asp.Net 来源:网络整理
导读:这是我第一次在StackOverflow上发帖,但这个网站很棒.提前感谢您提供的任何帮助. 我有一个网站,允许用户根据他们的权限访问不同的页面,因此每个用户需要在他们登录时动态生成他们的菜单.但是,用户的选项可能不会经常更改. 该站点当前有一个Master页面,该页面
这是我第一次在StackOverflow上发帖,但这个网站很棒.提前感谢您提供的任何帮助.

我有一个网站,允许用户根据他们的权限访问不同的页面,因此每个用户需要在他们登录时动态生成他们的菜单.但是,用户的选项可能不会经常更改.

该站点当前有一个Master页面,该页面从数据库中提取其页面列表并构建菜单.每次用户加载页面时都会这样做.

我想减少对数据库的调用,因此开始将菜单数据放入Session变量中.我希望有经验的人可以帮助我确保这是最好的方法.我想我更喜欢一种方法将它存储在用户的机器而不是服务器上.

我有这是我的主页页面加载:

User u = new User(Page.User.Identity.Name,Globals.getCnString());
        DataTable menu;
        if(Session["MENU"] == null)
        {
            Session["MENU"] = u.getMenu();
        }
        menu = (DataTable)Session["MENU"];

        foreach (DataRow r in menu.Rows)
        {
           //build menu code here.
        }

再次感谢!

解决方法

如果用户的选项不会经常更改,为什么不在更改发生时构建菜单,将其保存在用户的配置文件表中(以html格式),并将其传递给主页面中的文字控件而不是菜单,这样你就不会把它存放在用户的机器上(不推荐用于网站).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读