SqlDataReader result = BLL.AdminUser.login(username, password); while (result.Read()) { Session["a_id"] = result["a_id"]; Session["a_root"] = result["a_root"]; Session["username"] = result["a_username"]; Session["a_name"] = result["a_name"]; } if (result != null) { login_text.Style["display"] = "inline-block"; unlogin_text.Style["display"] = "none"; Label1.Text = username; Response.Redirect(Request.Url.ToString()); } else { Response.Write("<script>alert('账号或密码错误!')</script>"); } result.Close();此程序有个bug,密码错误时,不跳出alert,希望帮我解决
时间: 2024-04-08 13:31:20 浏览: 20
这段代码中的bug是在密码错误时没有弹出警告框。要解决这个问题,你可以使用一个变量来记录登录是否成功,然后在判断结果后进行相应的处理。修改后的代码如下所示:
```csharp
SqlDataReader result = BLL.AdminUser.login(username, password);
bool loginSuccess = false;
while (result.Read())
{
Session["a_id"] = result["a_id"];
Session["a_root"] = result["a_root"];
Session["username"] = result["a_username"];
Session["a_name"] = result["a_name"];
// 登录成功
loginSuccess = true;
}
result.Close();
if (loginSuccess)
{
login_text.Style["display"] = "inline-block";
unlogin_text.Style["display"] = "none";
Label1.Text = username;
Response.Redirect(Request.Url.ToString());
}
else
{
Response.Write("<script>alert('账号或密码错误!')</script>");
}
```
这样修改后,当密码错误时会弹出警告框提示账号或密码错误。希望能够帮到你!如果有任何其他问题,请随时提问。