ASP.NET C#超链接取决于角色

时间:2011-04-03 11:29:04

标签: c# asp.net hyperlink

我的网站设置了2个不同的角色,当然还有匿名角色。 我有一个登录用户的超链接转到他们的帐户页面,但我希望每个角色的相同超链接不同。例如

如果角色是管理员,我希望链接“我的帐户”转到admin / myaccount.aspx 如果角色是卖家,我希望链接“我的帐户”转到卖家/ myaccount.aspx

我使用了一个链接按钮并计划在C#中添加ifs,但我不确定如何根据角色制作if?

标记

2 个答案:

答案 0 :(得分:0)

假设表单身份验证 -

System.Security.Principal.IPrincipal _user = System.Threading.Thread.CurrentPrincipal;
            if (_user.IsInRole("admin"))
            {
                //Set link to admin link
            }
            else
            {
                //Set to other link
            }

有关IsInRole的更多信息:http://msdn.microsoft.com/en-us/library/system.security.principal.iprincipal.isinrole.aspx

答案 1 :(得分:0)

ASP.NET的两种方法,使用HyperLink控件:

  1. 使用两个HyperLink控件,其标题为“我的帐户”,但具有不同的NavigateUrl属性。检查用户的角色并在Page_Load函数中动态设置正确的链接visible
  2. 使用带有“我的帐户”标题的一个HyperLink控件,并在Page_Load函数中设置正确的NavigateUrl属性。