【发布时间】:2016-09-27 17:57:46
【问题描述】:
我有一个登录框,由带有文本框的 jquery 制成,然后是一个 asp:button,用于验证和创建会话,就像在代码中一样。
当用户名和密码错误并单击 asp: 按钮时,我已经制作了一个标签,但由于回发,登录框消失了。
protected void Button1_Click(object sender, EventArgs e)
{
Connectons etc...
cmd.CommandText = "SELECT * FROM Users WHERE Email = @email AND password = @pass";
cmd.Parameters.Add("@email", SqlDbType.VarChar).Value = username.Text;
cmd.Parameters.Add("@pass", SqlDbType.VarChar).Value = password.Text;
conn.Open();
SqlDataReader reader = cmd.ExecuteReader();
if (reader.Read())
{
Session["user_id"] = reader["user_id"];
Session["username"] = reader["Username"];
Session["name"] = reader["Name"];
Session["password"] = reader["Password"];
Session["LoggedIn"] = true;
Session["role"] = reader["Role_id"];
if (Convert.ToInt32(reader["Role_id"]) == 1)
{
Response.Redirect("Admin/default.aspx");
}
else
{
Response.Redirect("default.aspx");
}
}
else
{
Label1.Text = "Login is wrong";
}
conn.Close();
}
如果登录错误,如何使按钮不回发?
<a id="modal_trigger" href="#modal" class="btn btn-default">Log ind</a>
<div id="modal" class="popupContainer" style="display: none;"> </div>
$("#modal_trigger").leanModal({
top: 100,
overlay: 0.6,
closeButton: ".modal_close"
});
【问题讨论】:
-
由于您正在验证服务器上的登录,因此您不可能阻止回发(因为在单击按钮之前不会进行用户验证)。如果第一次登录不正确,您的意思是要禁用登录按钮以供以后尝试?
-
另外 - 如果您要在关闭之前重定向,您希望将您的 conn(和您的 com)包装在 USING 中。
-
如果您的意思是您不想在用户名或密码字段为空的情况下允许回发,那么您可以使用控制验证器。只需澄清您的要求,我们会提供帮助
-
谢谢,这是有道理的。我只是希望我知道如何让 jquery 弹出框保持不变。
-
首先是如何渲染的?