3

我在客户端得到了这段代码:

<p>Username:</p>
<p><asp:TextBox ID="tbUsername" runat="server"></asp:TextBox></p>

<p>Password:</p>
<p><asp:TextBox ID="tbPassword" runat="server" TextMode="Password"></asp:TextBox></p>

<asp:ImageButton ID="btnLogin" runat="server"
<p><asp:ImageButton ID="btnLogin" runat="server"ImageUrl="~/Images/LoginButton.png"</p>

<p><asp:Label ID="lblMessage" runat="server" ForeColor="Red"></asp:Label></p>

而服务器端的这段代码:

protected void btnLogin_Click(object sender, EventArgs e)
{
    string username = tbUsername.Text;
    string Password = tbPassword.Text;

    usersTableAdapter uta = new usersTableAdapter();
    DsShopping.usersDataTable udt = uta.GetUserByUsername(username);

    if (udt.Rows.Count == 0 || udt[0].Password != Password)
    {
        lblMessage.ForeColor = System.Drawing.Color.Red;
        lblMessage.Text = "Error! Login name or password is incorrect.";
        return;
    }

    Session["Login"] = username;
    Response.Redirect("~/Home.aspx");
}

问题是如何弹出一个对话框窗口显示表单并使用服务器端代码进行交互,并在同一个对话框窗口中显示用户名或密码不正确。如上所示,我正在使用 asp.net 并希望在我的 html 客户端上实现对话框。

我应该准确地使用它(if 语句)

4

1 回答 1

1

是一个使用Page.RegisterStartupScript方法的优秀教程。使用它而不是下面的代码行,您应该会看到Javascript有关无效用户名/密码组合的警报。

    lblMessage.ForeColor = System.Drawing.Color.Red;
    lblMessage.Text = "Error! Login name or password is incorrect.";

编辑:顺便说一下,您的密码文本框 ( tbPassword) 应该有一个属性集,如此TextMode所述。在这种情况下应该使用枚举。在此处阅读详细信息TextBoxMode

于 2012-12-19T07:03:24.677 回答