我能使用这个代码在对话框内登录吗?

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语句):
1个回答

1

这里有一个非常好的教程,可以教你如何使用Page.RegisterStartupScript方法。 使用它来代替你代码中的以下行,你应该会看到一个Javascript警告,提示无效的用户名/密码组合。

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

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接