首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > VB Dotnet >

用vb.net编写注册网页的有关问题

2011-12-21 
用vb.net编写注册网页的问题我用visualstudio2005的visualbasic.net编写网页的注册界面,要求输入用户名。要

用vb.net编写注册网页的问题
我用visual   studio   2005的visual   basic.net编写网页的注册界面,要求输入用户名。要求:如果输入的用户名已有了,则提示重新输入;如果没有,则输入到数据库中,
并提示输入成功。现在的问题是,若重名,不提示重新输入,而是重新转向注册界面;若不重名,输入到数据库中,并不提示输入成功。为何?
            register.aspx和register.aspx.vb文件如下:
            register.aspx:
            <%@   Page   Language= "VB "   AutoEventWireup= "false "   CodeFile= "register.aspx.vb "   Inherits= "_Default2 "   %>

<!DOCTYPE   html   PUBLIC   "-//W3C//DTD   XHTML   1.0   Transitional//EN "   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd ">
<%--Created   by   FC.                                                 --%>
<%--   register   the   user   information               --%>
<%--Input:     login.aspx                                               --%>
<%--Go   to:   tbd   --%>
<html   xmlns= "http://www.w3.org/1999/xhtml "   >
<head   id= "Head1 "   runat= "server ">
        <title> register.aspx </title>
</head>
<body>
        <form   ENCTYPE= "multipart/form-data "   runat= "server "   id= "form1 ">
     
            Register   information   <br>  
<table   >
              <tr>   <td>   User   name: </td> <td> <asp:TextBox   id= "id1 "   runat= "server "   > </asp:TextBox> <br> </td> </tr>
      <tr> <td> Password:   </td> <td> <asp:TextBox   id= "id2 "   runat= "server "> </asp:TextBox> <br> </td> </tr>
      <tr> <td> First   name: </td> <td> <asp:TextBox   id= "id3 "   runat= "server "> </asp:TextBox> <br> </td> </tr>
      <tr> <td> Last   name: </td> <td> <asp:TextBox   id= "id4 "   runat= "server "> </asp:TextBox> <br> </td> </tr>
      <tr> <td> Year   of   birth: </td> <td> <asp:TextBox   id= "id5 "   runat= "server "> </asp:TextBox> <br> </td> </tr>
              <tr> <td> telephone: </td> <td> <asp:TextBox   id= "id6 "   runat= "server "> </asp:TextBox> <br> </td> </tr>    
            <tr> <td> Email: </td> <td>   <asp:TextBox   id= "id7 "   runat= "server "> </asp:TextBox> <br> </td> </tr>
      <tr> <td> Expertise: </td> <td>   <asp:TextBox   id= "id8 "   runat= "server "> </asp:TextBox> <br> </td> </tr>


        <tr> <td> Current   position: </td> <td> <asp:TextBox   id= "id9 "   runat= "server "> </asp:TextBox> <br> </td> </tr>  
      <tr> <td> residential   city: </td> <td> <asp:TextBox   id= "id10 "   runat= "server "> </asp:TextBox> <br> </td> </tr>    
      <tr> <td> residential   country: </td> <td> <asp:TextBox   id= "id11 "   runat= "server "> </asp:TextBox> <br> </td> </tr>    
</table>
   
                <asp:Label   ID= "la1 "   runat= "server "   > </asp:Label>  
<asp:Button   id= "Button1 "     onclick= "register_save "   runat= "server "   Text= "save "   BackColor= "#E0E0E0 "   BorderColor= "WindowFrame "> </asp:Button> <br>
                <asp:Button   id= "Button2 "     onclick= "test_save "   runat= "server "   Text= "test_save "   BackColor= "#E0E0E0 "   BorderColor= "WindowFrame "> </asp:Button> <br>
  <%--     <asp:label   id= "la1 "   runat= "server "> </asp:label> --%>
    <asp:label   id= "la2 "   runat= "server "> </asp:label>
   
 
</form>
        <%--   <asp:Label   ID= "la1 "   runat= "server "   > </asp:Label>     --%>

</body>
</html>

          register.aspx.vb:
Imports   System
Imports   System.Data
Imports   System.Data.Sqlclient
Imports   System.windows.forms
Imports   System.drawing
Imports   System.Web.UI.Control
Imports   System.Web.UI.WebControls
Imports   System.Web.UI.WebControls.DataGrid

Partial   Class   _Default2
        Inherits   System.Web.UI.Page
         
        Sub   register_save(ByVal   s   As   Object,   ByVal   e   As   EventArgs)   Handles   Button1.Click

                Dim   againtag   As   String   =   Request( "gobacknote ")

                la2.Text   =   "againtag= "   &   againtag
                If   againtag   =   "loginagain "   Then
                        la1.Text   =   "the   user   name   has   been   used,   please   input   another   user   name. "         '提示重新输入用户名
                End   If

                Dim   ComResult   As   Integer                     '两个字符串比较的结果


                Dim   myConnection   As   SqlConnection
                Dim   myCommand   As   SqlCommand
                Dim   strSQL   As   String
                Dim   dr1   As   SqlDataReader
                strSQL   =   "select   username   from   register_table "
                myConnection   =   New   SqlConnection( "server=xichen;database=historybook;uid=sa;pwd=1234 ")
                myCommand   =   New   SqlCommand(strSQL,   myConnection)
                myConnection.Open()

                dr1   =   myCommand.ExecuteReader()
                If   dr1.HasRows   Then
                        While   dr1.Read()
                                Response.Write( "dr1   is   "   &   dr1.Item( "username ")   &   " <br> ")
                                ComResult   =   String.Equals(Trim(id1.Text),   Trim(dr1.Item( "username ")))   '   True)       'compare   whether   id1.text   is   equal   to   dr1.tiem,no   lower   or   upper   case  
                                Response.Write( "ComResult= "   &   ComResult   &   " <br> ")
                                If   ComResult   =   -1   Then       'find   whether   username   has   been   used,ComResult   is   -1   means   that   the   two   items   are   equal.
                                        'Response.Write( "repeated "   &   " <br> ")
                                        Response.Redirect( "register.aspx?gobacknote= " "loginagain " " ")
                                        'la2.Text   =   id1.Text   &   "   has   already   exist. "
                                End   If
                        End   While

                End   If
                myConnection.Close()
                strSQL   =   "insert   into   register_table   (   username,   password,firstname,lastname,year_of_birth,telephone,email,expertise,current_position,residential_city,residential_country)   values   (   @username   ,   @password,@firstname,@lastname,@year_of_birth,@telephone,@email,@expertise,@current_position,@residential_city,@residential_country) "


                myCommand   =   New   SqlCommand(strSQL,   myConnection)                    
                myCommand.Parameters.Add( "@username ",   id1.Text)
                myCommand.Parameters.Add( "@password ",   id2.Text)
                myCommand.Parameters.Add( "@firstname ",   id3.Text)
                myCommand.Parameters.Add( "@lastname ",   id4.Text)
                myCommand.Parameters.Add( "@year_of_birth ",   id5.Text)
                myCommand.Parameters.Add( "@telephone ",   id6.Text)
                myCommand.Parameters.Add( "@email ",   id7.Text)
                myCommand.Parameters.Add( "@expertise ",   id8.Text)
                myCommand.Parameters.Add( "@current_position ",   id9.Text)
                myCommand.Parameters.Add( "@residential_city ",   id10.Text)
                myCommand.Parameters.Add( "@residential_country ",   id11.Text)
                myConnection.Open()
                myCommand.ExecuteNonQuery()
                la1.Text   =   "you   have   click   save   button   and   register   successful. "
                myConnection.Close()

        End   Sub
    End   class


[解决办法]
Dim againtag As String = Request( "gobacknote ")

la2.Text = "againtag= " & againtag
If againtag = "loginagain " Then
la1.Text = "the user name has been used, please input another user name. " '提示重新输入用户名
End If
这一段语句应当放在page_load()里面,你放在按钮动作反应区块里,只有当按钮被激活时才会执行

热点排行