为什么我无法在代码中使用Response.Redirect两次

时间:2012-11-22 08:53:55

标签: c# asp.net .net

我的代码是

if (k =="")
{
    Label1.Text = "User Name or Password wrong !";
}
else if (k == "user")
{

    Response.Redirect("admin_info.aspx",false);

}
else if (k == "admin")
{

    Response.Redirect("Default.aspx",false);
}

当我使用k == "admin"时,无论是在使用之前还是在用户使用之后,k == "user" response.redirect都无效。

3 个答案:

答案 0 :(得分:0)

我猜这个问题可能是认证问题。
我猜你正在使用表单身份验证。如果是这样,那么您必须先验证用户身份,然后重定向到其他页面。

FormsAuthentication.SetAuthCookie(k, false);
Response.Redirect("admin_info.aspx",false);

答案 1 :(得分:0)

初始化k时写k = string.empty。

还要在重定向代码中更改Response.Redirect(“admin_info.aspx”,True)。

答案 2 :(得分:0)

鉴于调试似乎显示else if (k == "user")检查成功,最可能的解释是有问题的重定向实际上正在运行,但admin_info.aspx页面也在重定向。