繁体   English   中英

如何通过SqlDataSource控件验证用户?

[英]How to Validate users by SqlDataSource Control?

我创建一个登录页面来验证用户。 我有一个像下面的SQL表:

表: tblUsers

userID (int is identity)
username (nvarchr (50))
password (nvarchr (50))

登录

    Username<asp:TextBox ID="txtUsername" runat="server"></asp:TextBox><br />
    Password <asp:TextBox ID="txtPassword" runat="server"></asp:TextBox><br />
    <asp:Button ID="cmdLogin" runat="server" Text="Login" 
        onclick="cmdLogin_Click" /><br />
    <asp:Label ID="lblError" runat="server" EnableViewState="False"></asp:Label><br />
    <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
        ConnectionString="<%$ ConnectionStrings:ConStr %>" 
        SelectCommand="SELECT * FROM [tblUser] WHERE (([username] = @username) AND ([password] = @password))">
        <SelectParameters>
            <asp:ControlParameter ControlID="txtPassword" Name="username" 
                PropertyName="Text" Type="String" />
            <asp:ControlParameter ControlID="txtPassword" Name="password" 
                PropertyName="Text" Type="String" />
        </SelectParameters>
    </asp:SqlDataSource>

验证用户位于SqlDataSource的SelectCommand中。

SELECT * FROM [tblUser] WHERE (([username] = @username) AND ([password] = @password))

如何通过SqlDataSource验证用户? 我需要登录按钮的代码。

尝试这个:

protected void cmdLogin_Click(object sender, EventArgs e)
{
    DataView dView = (DataView)SqlDataSource1.Select(DataSourceSelectArguments.Empty);
    if (dView.Count == 1)
        Response.Redirect("~/Default.aspx");
    else
        lblError.Text="Incorrect username or password!";
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM