为了账号安全,请及时绑定邮箱和手机立即绑定

请教大家个问题?

请教大家个问题?

慕的地8271018 2018-12-06 19:42:39
我现在想实现一个功能:不同的用户登录以后显示的导航链接不一样,比如A用户登录看到的页面导航和B看的就不一样!我的页面导航是写在master页中的,用户登录模块是写在一个ascx页中的,我本来是想在用户登录后也就是在master页中根据用户登录的身份来动态显示要加载的导航菜单,这样的思路我试过了,出不来!问问大家应该怎么弄了? master中ASPX页代码(不同用户的大部分导航是一样的,所以我就写死了,就有部分导航是有些用户专有的,比如下面的第三个超链接就是某个用户登录后才显示的) <div id="nav">            <div class="nav_item"><a href="/Default.aspx">首页</a></div>            <div class="nav_item"><a href="/plat/platDesc.aspx">使用说明</a></div>            <div class="nav_item" id="post" runat="server" visible="false"><a href="#">送检</a></div>            <div class="nav_item"><a href="/news/newslist.aspx">业界动态</a></div>            <div class="nav_item"><a href="/slice/sliceList.aspx">切片库</a></div>            <div class="nav_item"><a href="/expert/expertDesc.aspx">专家介绍</a></div>            <div class="nav_item"><a href="/contact/contact.aspx">联系我们</a></div>        </div> master后台代码: if (Session["UserInfo"] != null)        {             User user = (User)Session["UserInfo"];            switch (user.Type)            {                case 2:                    post.Visible = true;                    break;                default:                    break;            }        } 在用户登录控件中,也就是ascx中,登录成功后我给session["UserInfo"]赋值
查看完整描述

6 回答

?
慕桂英4014372

TA贡献1871条经验 获得超13个赞

你的思路没错,是应该在master上对用户身份来进行加载。不过最好贴出代码来看下。

查看完整回答
反对 回复 2019-01-21
?
慕码人8056858

TA贡献1803条经验 获得超6个赞

导航栏,是否考虑也做成一个控件,在用户登录的时候根据ID动态加载要显示的菜单.

查看完整回答
反对 回复 2019-01-21
?
凤凰求蛊

TA贡献1825条经验 获得超4个赞

把用户所具备的操作权限存入数据库中,用户登陆成功的时候,根据自己的权限生成导航菜单。

查看完整回答
反对 回复 2019-01-21
?
犯罪嫌疑人X

TA贡献2080条经验 获得超4个赞

恩,你的意思是把导航的链接,还有显示文本什么的都放到数据库里,读的时候动态的生成导航的HTML吗?如果是这样做的话,动态生成的HTML需要大量的字符串拼接,很麻烦啊,是这么做吗?
查看完整回答
反对 回复 2019-01-21
?
九州编程

TA贡献1785条经验 获得超4个赞

@yixin841210:是的,现在的系统大多是这样做的,因为你导航排版基本是有序的,只需要循环生成。
查看完整回答
反对 回复 2019-01-21
?
LEATH

TA贡献1936条经验 获得超6个赞

@Astar: 恩,明白了谢谢你!~
查看完整回答
反对 回复 2019-01-21
  • 6 回答
  • 0 关注
  • 411 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信