我现在想实现一个功能:不同的用户登录以后显示的导航链接不一样,比如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 回答
犯罪嫌疑人X
TA贡献2080条经验 获得超4个赞
恩,你的意思是把导航的链接,还有显示文本什么的都放到数据库里,读的时候动态的生成导航的HTML吗?如果是这样做的话,动态生成的HTML需要大量的字符串拼接,很麻烦啊,是这么做吗?
- 6 回答
- 0 关注
- 411 浏览
添加回答
举报
0/150
提交
取消