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

C# 如何通过SqlDataSource控件验证用户?,c#,asp.net,C#,Asp.net,我制作了一个登录页面来验证用户。我有一个sql表,如下所示: 表:tblUsers userID (int is identity) username (nvarchr (50)) password (nvarchr (50)) Login.ASPX Username<asp:TextBox ID="txtUsername" runat="server"></asp:TextBox><br /> Password <asp:TextBo

我制作了一个登录页面来验证用户。我有一个sql表,如下所示:

表:tblUsers

userID (int is identity)
username (nvarchr (50))
password (nvarchr (50))
Login.ASPX

    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验证用户?我需要登录按钮的代码。

请尝试以下操作:

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!";
}

不要以纯文本形式存储密码。更重要的是,安全是困难的。不要重新发明轮子。您应该使用内置的成员资格系统。另一个注释:您的SQLDataSource变得如此复杂,您最好开始使用代码来进行数据库交互。ADO.NET有一些类,可以让您更直接地控制交互,并且可以设置断点,以便调试更复杂的查询。强烈建议在标记中使用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!";
}