2012-12-19 80 views
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

Here是一個很好的教程利用Page.RegisterStartupScript方法。 使用它而不是跟隨您的代碼行,您應該看到對無效的用戶名/密碼組合的Javascript警報。

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

編輯:順便問一下,你的密碼文本框(tbPassword)應該有一個TextMode屬性描述here設置。在這種情況下應該使用TextBoxMode枚舉。閱讀詳情here

相關問題