我的用户名和登录页面无效

时间:2013-03-02 02:12:00

标签: asp.net visual-studio-2008 login ado.net code-behind

确定。所以我有一个简单的网站,其中包含用户名和密码文本框以及vb2008中的提交按钮,该按钮应该会导致在网格视图中访问SQL源表的新页面。我应该输入“mcobery”作为用户名和“密码”作为密码,当我这样做时,没有任何反应。我的代码背后有什么问题吗?

查看我的代码以及我的默认页面和它导致代码的页面。

这是

背后的代码
 Protected Sub butSubmit_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles    butSubmit.Click

    Dim correctPassword As Boolean = False

    'Establish the SqlConnection by using the configuration manager to get the connection string in our web.config file.

    Using mySqlConnection = New Data.SqlClient.SqlConnection  (ConfigurationManager.ConnectionStrings("ConnectionString").ConnectionString)

        Dim sql As String = "SELECT password FROM MyUsers WHERE username = @userName"

        Using mySqlCommand = New Data.SqlClient.SqlCommand(sql, mySqlConnection)
            mySqlCommand.Parameters.AddWithValue("@userName", Me.TextBox1.Text)

            Try
                mySqlConnection.Open()

                Using myReader = mySqlCommand.ExecuteReader()

                    If myReader.Read() Then

                        Dim password As String = myReader.GetString(myReader.GetOrdinal("password"))

                        If password = Me.TextBox2.Text Then

                            'Open page with users and roles

                            correctPassword = True

                        End If

                    End If

                End Using

            Catch ex As Exception
                Console.WriteLine(ex.ToString())

            End Try

        End Using

    End Using

    If correctPassword Then

        Response.Redirect("userAdmin.aspx")

    End If

   End Sub

  End Class

我的default.aspx页面

 <%@ Page Language="VB" Debug="true" MasterPageFile="~/master.master" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" title="Untitled Page" %>

 <asp:Content ID="Content1" ContentPlaceHolderID="header" Runat="Server">
<p style="text-align: center; color: white">
    SAM PEPPARD</p>
 </asp:Content>
 <asp:Content ID="Content2" ContentPlaceHolderID="navigation" Runat="Server">
<a href="Default.aspx">Default.aspx</a>
<br />
<br />
<a href="userAdmin.aspx">userAdmin.aspx</a>
<br />
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="main" Runat="Server">
&nbsp &nbsp User Name
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
&nbsp&nbsp&nbsp&nbsp;&nbsp;&nbsp;&nbsp; Password&nbsp<asp:TextBox ID="TextBox2" 
    runat="server" TextMode="Password"></asp:TextBox>
    &nbsp&nbsp&nbsp&nbsp;&nbsp;&nbsp;&nbsp;
<asp:Button ID="butSubmit" runat="server" Text="Submit" />
</asp:Content>
<asp:Content ID="Content4" ContentPlaceHolderID="footer" Runat="Server">
</asp:Content>

按提交时应该导致的页面。它被称为userAdmin.aspx

<%@ Page Language="VB" MasterPageFile="~/master.master" AutoEventWireup="false" title="UserAdmin" %>

<asp:Content ID="Content1" ContentPlaceHolderID="header" Runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="navigation" Runat="Server">
<a href="Default.aspx">Default.aspx</a>
<br />
<br />
<a href="userAdmin.aspx">userAdmin.aspx</a>
<br />
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="main" Runat="Server">
<asp:SqlDataSource ID="SqlDataSource1" runat="server" 
    ConnectionString="<%$ ConnectionStrings:ConnectionString %>" 
    SelectCommand="SELECT * FROM [MyUsers]"></asp:SqlDataSource>
<asp:GridView ID="UserRolesGrid" runat="server" DataSourceID="SqlDataSource1" 
    Width="399px" AutoGenerateColumns="False" DataKeyNames="id">
    <Columns>
        <asp:BoundField DataField="id" HeaderText="id" InsertVisible="False" 
            ReadOnly="True" SortExpression="id" />
        <asp:BoundField DataField="user_logon_id" HeaderText="user_logon_id" 
            SortExpression="user_logon_id" />
        <asp:BoundField DataField="user_full_name" HeaderText="user_full_name" 
            SortExpression="user_full_name" />
        <asp:BoundField DataField="user_description" HeaderText="user_description" 
            SortExpression="user_description" />
        <asp:BoundField DataField="user_password" HeaderText="user_password" 
            SortExpression="user_password" />
    </Columns>
</asp:GridView>
</asp:Content>
<asp:Content ID="Content4" ContentPlaceHolderID="footer" Runat="Server">
</asp:Content>

如果有帮助,这里是主页面代码

<%@ Master Language="VB" CodeFile="master.master.vb" Inherits="master" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0   Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Website 1</title>
<style type="text/css">
    .fullHW
    {
        width: 100%;
        height: 100%;
    }
    .fullW
    {
        width: 100%;
    }
    .header
    {
        color:black;
        background-color:indigo;
        height: 100px;
        font-size:16.0pt;
        font-family:"Arial","sans-serif";
    }
    .footer
    {
        color:white;
        background-color:indigo;
        height: 100px;
        font-size:8.0pt;
        font-family:"Arial","sans-serif";
    }
    .nav
    {
        background-color:black;
        width: 200px;
        height: 400px;
        font-size:11.0pt;
        color:black;
        font-family:"Arial","sans-serif";
    }
    .content
    {
        background-color:white;
        height: 100%;
        font-size:11.0pt;
        color:black;
        font-family:"Arial","sans-serif";
    }

    a:link              { color:white; text-decoration:none; }
    a:visited           { color:white; text-decoration:none; }
    a:hover             { color:white; text-decoration:none; }
    a:active            { color:white; text-decoration:none; }


</style>
</head>
<body>
<form id="form1" runat="server">
<div class="fullHW">
    <table border="0" cellpadding="0" cellspacing="0" class="fullHW">
        <tr class="fullHW">
          <td class="header">
            <asp:ContentPlaceHolder ID="header" runat="server">
            </asp:ContentPlaceHolder>
          </td>
        </tr>
        <tr class="fullHW">
          <td>
            <table border="0" cellpadding="0" cellspacing="0" class="fullHW">
              <tr class="fullHW">
                <td class="nav">
                  <asp:ContentPlaceHolder ID="navigation" runat="server">
                     <a href="Default.aspx">Default.aspx</a>

                      <br />
                      <br />

                     <a href="userAdmin.aspx">userAdmin.aspx</a>
                  </asp:ContentPlaceHolder>
                </td>
                <td class="content">
                  <asp:ContentPlaceHolder ID="main" runat="server">
                  </asp:ContentPlaceHolder>
                </td>
              </tr>
            </table>
          </td>
        </tr>
        <tr class="fullHW">
            <td class="footer">
                <asp:ContentPlaceHolder ID="footer" runat="server">
                </asp:ContentPlaceHolder>
            </td>
        </tr>
    </table>
  </div>
 </form>
 </body>
 </html>

1 个答案:

答案 0 :(得分:0)

我没有看到您将btnSubmit_Click方法与btnSubmit按钮相关联。 我想您可以在检查Page_Load后处理IsPostBack处理程序中的提交点​​击按钮。