2013-03-01 34 views
0

我在我制作的简单网站上遇到了用户登录和密码屏幕问题。它应该会导致一个新的页面在网格视图中显示一个SQL源,但是当我按下部署网站中的提交按钮时没有任何反应。下面是我的代码,以及我的default.aspx和我的userAdmin.aspx的源代码。代码隐藏有问题吗?如果可以,请告诉我。谢谢!为什么用户登录和密码在Visual Studio中加载下一页?

Protected Sub butSubmit_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles butSubmit.Click 

    Dim myReader As Data.SqlClient.SqlDataReader 

    Dim mySqlConnection As Data.SqlClient.SqlConnection 

    Dim mySqlCommand As Data.SqlClient.SqlCommand 


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

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

    Dim sql As String = "SELECT password FROM MyUsers WHERE username = '" & Me.TextBox1.Text & "'" 

    mySqlCommand = New Data.SqlClient.SqlCommand(sql, mySqlConnection) 



    Try 

     mySqlConnection.Open() 

     myReader = mySqlCommand.ExecuteReader() 


     If (myReader.HasRows) Then 

      myReader.Read() 

      Dim password As String = myReader("password") 

      If (password = Me.TextBox2.Text) Then 

       'Open page with users and roles 

       Dim message As String = "Correct password" 

       Dim style As MsgBoxStyle = MsgBoxStyle.OkOnly 

       Dim title As String = "Authenticated" 

       MsgBox(message, style, title) 


      End If 

     End If 

    Catch ex As Exception 

     Console.WriteLine(ex.ToString()) 

    Finally 

     If Not (myReader Is Nothing) Then 

      myReader.Close() 

     End If 

     If (mySqlConnection.State = Data.ConnectionState.Open) Then 

      mySqlConnection.Close() 

     End If 

    End Try 

End Sub 

末级

useradmin源

<%@ 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> 

的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> 

回答

0

匹配的密码,您应该将浏览器重定向到新的页面之后。

使用Response.Redirect(newpage)

+0

所以重定向会像这样下吗? MsgBox(message,style,title) Response.Redirect(userAdmin.aspx) – user1690599 2013-03-01 07:01:33

+0

我的意思是Response.Redirect(userAdmin.aspx)会在MsgBox(消息,样式,标题)之下? – user1690599 2013-03-01 07:08:18

+0

这会做的伎俩!谢谢! – user1690599 2013-03-01 07:38:41

相关问题