使用ASP.Net和C#
网页菜单包括管理、人力资源、IT
我在我的网站上使用登录页面。
条件
If the website is login by Admin User, Admin Menu only enable
If the website is login by HR User, HR menu only enable
....如何为上述情况编写代码。
需要代码帮助
发布于 2011-04-02 01:35:41
我假设你在这里使用内置的roleManager和成员资格。
如果您正在使用菜单控件,我相信如果目标链接设置得当,菜单将遵循位置权限。所以,如果你在你的web.config中添加了类似这样的东西(还没有检查过确切的标记,但希望你能理解):
<location path="admin/admin.aspx">
<system.web>
<authorization>
<allow roles="Admin" />
</authorization>
</system.web>
</location>
<location path="hr/hr.aspx">
<system.web>
<authorization>
<allow roles="HR" />
</authorization>
</system.web>
</location>如果您正在构建一个自定义菜单,就像下面这样简单
<% if (HttpContext.Current.User.IsInRole("Admin"){ %> <li>Admin Menu</li> <% } %> 你的菜单项应该可以做到这一点
发布于 2011-04-02 02:17:15
任何具有服务器“runat=”的控件都有一个可见属性,该属性可以绑定到使用
Visible='<%# IsAdmin %>'在代码中,IsAdmin是您创建的返回布尔值的属性。不可见的项目不会被渲染。将每个菜单的visible属性设置为IsAdmin、IsHR和IsIT,只有这些菜单的属性返回为true时才会被查看。
顺便说一句,在绑定两边使用单引号是一种习惯,因为有时您希望在绑定语句中使用双引号。在这种情况下,双引号也可以。
https://stackoverflow.com/questions/5516723
复制相似问题