2012-08-31 84 views
0

当我尝试使用下面的代码根据角色进行页面重定向时,不知何故,它给了我一个错误,表示“名称'角色'在当前上下文中不存在”。我不知道我的编码有什么问题。请帮忙。谢谢。页面重定向时出现错误(asp.net)

protected void Login1_LoggedIn(object sender, EventArgs e) 
{ 
    { 
     if (Roles.IsUserInRole(Login1.UserName, "Aemy")) 
      Response.Redirect("~/Admin/Home.aspx"); 
     else if (Roles.IsUserInRole(Login1.UserName, "User")) 
      Response.Redirect("~/Welcome/User1.aspx"); 
    } 
} 
+0

我以前遇到同样的问题,试着重建整个项目 – Hassanation

+0

后发现你得到的整个异常。 –

+0

它是在编译时间还是在运行?如果它在运行,你有没有在代码改变后重建项目? – VIRA

回答

0

您是否缺少该文件中System.Web.Security的using语句?我假设你在编译时收到错误。

为清晰起见进行了编辑: 此处的问题是,您什么时候遇到此错误?如果您在尝试编译项目时遇到此错误,则意味着它无法解析System.Web.Security命名空间成员的“角色”,这可能意味着您错过了“using System.Web .Security“声明靠近文件顶部。如果您在运行时遇到有人尝试登录的错误,那么您遇到了一个非常陌生的例外。

+0

对不起,我真的不明白 –

+0

他说编译器无法解析“角色”对象,因为缺少include指令。您也可以将其重写为“System.Web.Security.Roles.IsInRole ...”。这至少会告诉你,如果问题是缺少包括。 –

相关问题