Create User Registration Form In Asp.Net

Creating User Registration Form Example In Asp.Net

In this post i am explaining how to create user registration or signup page in with sql server database using C# and VB.NET.

Creating user registration form in
For this first of all we need to create a table in sql server database to store user registration data.

I have created a table named Users for this example with columns shown in image below.

We can also Create Users with Membership Provider programmatically Or using CreateUserWizard, You will also need a Login Page

Place textboxes on the form for entering name,username,password,address,email etc.

Set Textmode property of password textbox to password to display * character instead of text entered.

Associate RequiredFieldValidators with textboxes as shown in HTML source.

Place one Label and Button to save the data.

   1:  <table>
   2:  <tr>
   3:  <td>First Name:</td>
   4:  <td><asp:TextBox ID="txtFirstName" runat="server">
   5:     </asp:TextBox>
   6:  </td>
   7:  <td><asp:RequiredFieldValidator ID="rfvFirstName" 
   8:              runat="server" 
   9:              ControlToValidate="txtFirstName"
  10:              ErrorMessage="First Name can't be left blank" 
  11:              SetFocusOnError="True">*
  12:       </asp:RequiredFieldValidator>
  13:  </td>
  14:  </tr>
  15:  <tr>
  16:  <td>Last Name:</td>
  17:  <td><asp:TextBox ID="txtLastName" runat="server">
  18:      </asp:TextBox></td>
  19:  <td><asp:RequiredFieldValidator 
  20:           ID="RequiredFieldValidator1" runat="server" 
  21:           ControlToValidate="txtLastName"
  22:           ErrorMessage="Last Name can't be left blank" 
  23:           SetFocusOnError="True">*
  24:      </asp:RequiredFieldValidator>
  25:  </td></tr>
  27:  <tr><td>UserName:</td>
  28:  <td><asp:TextBox ID="txtUserName" runat="server">
  29:      </asp:TextBox>
  30:  </td>
  31:  <td><asp:RequiredFieldValidator 
  32:           ID="rfvUserName" 
  33:           runat="server" 
  34:           ControlToValidate="txtUserName"
  35:           ErrorMessage="UserName can't be left blank" 
  36:           SetFocusOnError="True">*
  37:      </asp:RequiredFieldValidator>
  38:  </td></tr>
  40:  <tr><td>Password:</td>
  41:  <td><asp:TextBox ID="txtPwd" runat="server"
  42:                   TextMode="Password">
  43:      </asp:TextBox>
  44:  </td>
  45:  <td><asp:RequiredFieldValidator ID="rfvPwd" 
  46:           runat="server" ControlToValidate="txtPwd"
  47:           ErrorMessage="Password can't be left blank" 
  48:           SetFocusOnError="True">*
  49:     </asp:RequiredFieldValidator>
  50:  </td></tr>
  52:  <tr><td>Confirm Password:</td>
  53:  <td><asp:TextBox ID="txtRePwd" runat="server"
  54:                   TextMode="Password">
  55:      </asp:TextBox>
  56:  </td>
  57:  <td><asp:CompareValidator ID="CompareValidator1" 
  58:           runat="server" 
  59:           ControlToCompare="txtRePwd" 
  60:           ControlToValidate="txtPwd" 
  61:           Operator="Equal" 
  62:           ErrorMessage="Password and confirm password do not match" 
  63:           SetFocusOnError="True">
  64:      </asp:CompareValidator>
  65:  </td></tr>
  67:  <tr><td>Gender:</td>
  68:  <td><asp:RadioButtonList ID="rdoGender" 
  69:                           runat="server">
  70:           <asp:ListItem>Male</asp:ListItem>
  71:           <asp:ListItem>Female</asp:ListItem>
  72:      </asp:RadioButtonList>
  73:  </td>
  74:  <td><asp:RequiredFieldValidator 
  75:           ID="RequiredFieldValidator2" 
  76:           runat="server" 
  77:           ControlToValidate="rdoGender"
  78:           ErrorMessage="Gender can't be left blank" 
  79:           SetFocusOnError="True">*
  80:       </asp:RequiredFieldValidator>
  81:  </td></tr>
  83:  <tr><td>Address:</td>
  84:  <td><asp:TextBox ID="txtAdress" runat="server" 
  85:                   TextMode="MultiLine">
  86:      </asp:TextBox>
  87:  </td>
  88:  <td><asp:RequiredFieldValidator ID="rfvAddress" 
  89:           runat="server" 
  90:           ControlToValidate="txtAdress"
  91:           ErrorMessage="Address can't be left blank" 
  92:           SetFocusOnError="True">*
  93:      </asp:RequiredFieldValidator>
  94:  </td></tr>
  96:  <tr><td>Email ID:</td>
  97:  <td><asp:TextBox ID="txtEmailID" runat="server">
  98:      </asp:TextBox>
  99:  </td>
 100:  <td><asp:RequiredFieldValidator 
 101:           ID="RequiredFieldValidator3" 
 102:           runat="server" 
 103:           ControlToValidate="txtEmailID"
 104:           ErrorMessage="Email can't be left blank" 
 105:           SetFocusOnError="True">*
 106:      </asp:RequiredFieldValidator>
 107:  </td></tr>
 109:  <tr><td><asp:Label ID="lblMsg" runat="server">
 110:          </asp:Label>
 111:      </td>
 112:  <td><asp:ValidationSummary ID="ValidationSummary1" 
 113:           runat="server" ShowMessageBox="True" 
 114:           ShowSummary="False"/>
 115:  </td></tr>
 117:  <tr><td><asp:Button ID="btnSave" runat="server" 
 118:                      Text="Sign Up" 
 119:                      onclick="btnSave_Click"/>
 120:  </td></tr>
 121:  </table>

Write below mentioned code in click event of signup button.

protected void btnSave_Click(object sender, EventArgs e)
        //Create ConnectionString and Inser Statement
        string connectionString = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
        string insertSql = "INSERT INTO Users (FirstName,LastName,UserName,Password,Email,Address,Gender)" 
        + " values (@FirstName,@LastName,@UserName,@Password,@Email,@Address,@Gender)";
        //Create SQL connection
        SqlConnection con = new SqlConnection(connectionString);
        //Create SQL Command And Sql Parameters

        SqlCommand cmd = new SqlCommand();
        cmd.Connection = con;
        cmd.CommandType = CommandType.Text;
        cmd.CommandText = insertSql;

        SqlParameter firstName = new SqlParameter("@FirstName", SqlDbType.VarChar, 50);
        firstName.Value = txtFirstName.Text.ToString();

        SqlParameter lastName = new SqlParameter("@LastName", SqlDbType.VarChar, 50);
        lastName.Value = txtLastName.Text.ToString();

        SqlParameter userName = new SqlParameter("@UserName", SqlDbType.VarChar, 50);
        userName.Value = txtUserName.Text.ToString();

        SqlParameter pwd = new SqlParameter("@Password", SqlDbType.VarChar, 50);
        pwd.Value = txtPwd.Text.ToString();

        SqlParameter email = new SqlParameter("@Email", SqlDbType.VarChar, 50);
        email.Value = txtEmailID.Text.ToString();

        SqlParameter address = new SqlParameter("@Address", SqlDbType.VarChar, 50);
        address.Value = txtAdress.Text.ToString();

        SqlParameter gender = new SqlParameter("@Gender", SqlDbType.VarChar, 10);
        gender.Value = rdoGender.SelectedItem.ToString();

            lblMsg.Text = "User Registration successful";
        catch (SqlException ex)
            string errorMessage = "Error in registering user";
            errorMessage += ex.Message;
            throw new Exception(errorMessage);


Protected Sub btnSave_Click(sender As Object, e As EventArgs)
 'Create ConnectionString and Inser Statement
 Dim connectionString As String = ConfigurationManager.ConnectionStrings("ConnectionString").ConnectionString
 Dim insertSql As String = "INSERT INTO Users (FirstName,LastName,UserName,Password,Email,Address,Gender)" & " values (@FirstName,@LastName,@UserName,@Password,@Email,@Address,@Gender)"
 'Create SQL connection
 Dim con As New SqlConnection(connectionString)

 'Create SQL Command And Sql Parameters

 Dim cmd As New SqlCommand()
 cmd.Connection = con
 cmd.CommandType = CommandType.Text
 cmd.CommandText = insertSql

 Dim firstName As New SqlParameter("@FirstName", SqlDbType.VarChar, 50)
 firstName.Value = txtFirstName.Text.ToString()

 Dim lastName As New SqlParameter("@LastName", SqlDbType.VarChar, 50)
 lastName.Value = txtLastName.Text.ToString()

 Dim userName As New SqlParameter("@UserName", SqlDbType.VarChar, 50)
 userName.Value = txtUserName.Text.ToString()

 Dim pwd As New SqlParameter("@Password", SqlDbType.VarChar, 50)
 pwd.Value = txtPwd.Text.ToString()

 Dim email As New SqlParameter("@Email", SqlDbType.VarChar, 50)
 email.Value = txtEmailID.Text.ToString()

 Dim address As New SqlParameter("@Address", SqlDbType.VarChar, 50)
 address.Value = txtAdress.Text.ToString()

 Dim gender As New SqlParameter("@Gender", SqlDbType.VarChar, 10)
 gender.Value = rdoGender.SelectedItem.ToString()

  lblMsg.Text = "User Registration successful"
 Catch ex As SqlException
  Dim errorMessage As String = "Error in registering user"
  errorMessage += ex.Message

  Throw New Exception(errorMessage)
 End Try
End Sub

Build and run the code.

Download Sample Code

If you like this post than join us or share


Anonymous said...

Article is Awesome

But how to implement captcha

Normally Every Gmail, Yahoo, Rediff etc
After Every Registration Provides Captcha Code
which is random code generated even facebook, twitter, eCommerce Site etc. Is it possible to implement.

Thank You

sundeep said...

errorMessage += ex.Message;
i don't understand this line .. Message, where was it stored?

amiT jaiN said...


catch (SqlException ex)
string errorMessage = "Error in registering user";
errorMessage += ex.Message;
throw new Exception(errorMessage);


ex.message will append the error message of sqlexception type, if occured,to errorMessage variable

Anonymous said...

i tried the c# codes but it is not there any other thing to do before running?the error message is : Compiler Error Message: CS1061: 'ASP.test_aspx' does not contain a definition for 'btnSave_Click' and no extension method 'btnSave_Click' accepting a first argument of type 'ASP.test_aspx' could be found (are you missing a using directive or an assembly reference?)

amiT jaiN said...

@Above:Open your page in design mode and double click on save button to generate it's click event in code behind, then write Csharp code in it

Anonymous said...

i have contact(phone no) column.Here i declare int type. i written code in submit button like,but it gives error as value either too small or too large of INT32. Please correct it
SqlParameter ContactNo = new SqlParameter("@ContactNo", SqlDbType.Int, 50);
ContactNo.Value = convert.toint32(txtcotno.Text.ToString());

amiT jaiN said...

@Above: Create a new column ContactNo in database table With int datatype

Change sql statement to

string insertSql = "INSERT INTO Users (FirstName,LastName,UserName,Password,Email,Address,Gender,ContactNo) values (@FirstName,@LastName,@UserName,@Password,@Email,@Address,@Gender,@ContactNo)";

Create Sql parameter

SqlParameter contactNo = new SqlParameter("@ContactNo", SqlDbType.Int, 10);
contactNo.Value = Convert.ToInt32(txtContactNo.Text.ToString());

This should work fine without any errors

Anonymous said...

it worked!! thanks a lot!!

Anonymous said...


I have the following problem:

Error in registring userUser does not have permission to perform this action.

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.Exception: Error in registring userUser does not have permission to perform this action.

Source Error:

Line 70: string errorMessage = "Error in registring user";
Line 71: errorMessage += ex.Message;
Line 72: throw new Exception(errorMessage);
Line 73:
Line 74: }

Anonymous said...

i have got a null pointer exception while execting
ie use new keyword to create instance of connectionstring...

Anonymous said...

we need color grid codings ethu kuda upload pana matingala????????????????.....

Anju Bala said...

if i want confirmation code sent to user id who registered currently then how this will be done????/

Anonymous said...


thank you for your tutorial but i am getting error messages such as:
City.Value = txtCity.text.ToString();
txtCity does not exist in the current context, and the same message for SqlDbType as well as for cmd.CommandType = CommandType.text; as Command Type

Jacob Lefore said...

its really nice post but you didn't check already registered user, which is include in database table
Check this article
user registeration

Anonymous said...

can we give identity property with primary key???
if yes them am facing the problem.....and the error is
"explicit value for identity column in table register can olny be specified when a column list is used and identity_insert is on "

Find More Articles