Quantcast
Channel: ASP.NET AJAX + Ajax Control Toolkit (ACT)
Viewing all articles
Browse latest Browse all 5678

Check if user exists before proceeding. This is not working.

$
0
0

I think I am losing.

We have a requirement. Before a user signs up for a new account, ask the user to select a username. As soon as mouse leaves the box, the value the user entered is verified against the database. If the username the user entered exists on our database, display a message to the user that that name already exists and disable submit button.

If the username does not exist, display a message to the user advising the user to proceed and enable submit button.

So far, everything is working except that if I validate against a name that already exists on the database, I get a message that the name is available.

This is wrong. It should display a message that that name is taken.

Conversely, if I enter a name that doesn't exist on the db, no message is displayed.

What piece am I missing?

//Markup

<body><form id="form1" runat="server"><asp:ScriptManager runat="server" ID="sm1" /><script language="javascript" type="text/javascript">
      // Hook the InitializeRequest event.
      Sys.WebForms.PageRequestManager.getInstance().add_initializeRequest(InitializeRequest);

      function InitializeRequest(sender, args) {
          // Change div's CSS class and text content.
          $get('UserAvailability').className = 'progress';$get('UserAvailability').innerHTML = 'Checking availability...';$get('Button1').disabled = true;
      }</script><asp:UpdatePanel runat="server" ID="up1"><ContentTemplate><label>Username:</label> <asp:TextBox runat="server" id="txtUserName" AutoPostBack="true" OnTextChanged="CheckUserNameAvailability" /><div runat="server" id="UserAvailability"></div><br /></ContentTemplate></asp:UpdatePanel><label>Password:</label> <asp:TextBox runat="server" ID="txtpwd" TextMode="password" /><br /><label>Confirm:</label> <asp:TextBox runat="server" ID="PasswordConfirm" TextMode="password" /><br /><br /><asp:UpdatePanel runat="server" ID="up2"><ContentTemplate><asp:Button runat="server" ID="Button1" Text="Sign me up!" Enabled="false" /></ContentTemplate></asp:UpdatePanel><asp:Label ID="lblmsg" runat="server"></asp:Label></form></body></html>

Codebehind:

    Protected Sub CheckUserNameAvailability(ByVal sender As Object, ByVal e As EventArgs)
        Dim conn As New SqlConnection(ConfigurationManager.ConnectionStrings("DBConnectionString").ConnectionString)
        Dim cmd As New SqlCommand("select * from tblLogin where username=@user", conn)
        cmd.Parameters.AddWithValue("@user", txtUserName.Text)
        conn.Open()
        Dim dr As SqlDataReader
        System.Threading.Thread.Sleep(3000)
        dr = cmd.ExecuteReader()
        If dr.Read() Then
            If txtUserName.Text = dr("username").ToString() Then
                UserAvailability.InnerText = "Username taken, sorry."
                UserAvailability.Attributes.Add("class", "taken")
                Button1.Enabled = False
            Else
                UserAvailability.InnerText = "Username available!"
                UserAvailability.Attributes.Add("class", "available")
                Button1.Enabled = True
            End If
        End If
    End Sub

Thanks a lot in advance


Viewing all articles
Browse latest Browse all 5678

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>