我在我的代码隐藏文件中以编程方式绑定转发器。我还在我的页面中检查角色,如下所示,并据此绑定我的转发器控件,如下所示;
if (Page.User.IsInRole("Admin"))
{
repeaterArticlesList.DataSource = ArticleAccess.GetArticlesWithNoPaginate();
repeaterArticlesList.DataBind();
}
else if(Page.User.IsInRole("Editor"))
{
repeaterArticlesList.DataSource = ArticleAccess.GetArticlesWithNoPaginate();
repeaterArticlesList.DataBind();
}
else
{
string userName = Page.User.Identity.Name.ToString();
repeaterArticlesList.DataSource = ArticleAccess.GetArticlesWithNoPaginateWithUsername(userName);
repeaterArticlesList.DataBind();
}
我总共有 4 个角色,即Admin、Author、Editor、User。但是,我有一个用户,即属于所有这些角色的管理员。我的逻辑问题是,当我以管理员用户(属于所有 4 个角色)身份登录时,第一个条件和第二个条件都失败,最后一个条件被执行。因此,我想为该用户执行我的第一个条件,该用户必须在我的所有角色中 4 个角色。 否则,我将检查各个角色。提前感谢任何有关此的帮助。