Registration Form with Complate validation from Ajax & Asp control using Linq & StoreProcedure

Default.aspx


 <asp:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server">
  </asp:ToolkitScriptManager>



<table border="0" width="800px">
       <tr>
       <th colspan="4" >
       <b><u>REGISTRATION</u></b>
       </th>
       </tr>
      


       <tr>
       <td align="left">FirstName:</td>                       
       <td align="left">
           <asp:TextBox ID="txtFirstname" runat="server" Height="18px" Width="200px"
               AutoCompleteType="HomeCountryRegion" ></asp:TextBox>
           <asp:FilteredTextBoxExtender ID="FilteredTextBoxExtender1" runat="server" TargetControlID="txtFirstname" FilterType="LowercaseLetters,UppercaseLetters"></asp:FilteredTextBoxExtender>
           <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ValidationGroup="reg"
                Display="None" ErrorMessage="Enter firstName" ControlToValidate="txtFirstname" >
                </asp:RequiredFieldValidator>                        
           <asp:ValidatorCalloutExtender ID="ValidatorCalloutExtender1" runat="server" TargetControlID="RequiredFieldValidator1"></asp:ValidatorCalloutExtender>                
       </td>   


       <td align="left">MiddleName:</td>
       <td align="left">
           <asp:TextBox ID="txtMiddlename" runat="server" Height="18px" Width="200px" ></asp:TextBox>
           <asp:FilteredTextBoxExtender ID="FilteredTextBoxExtender2" runat="server" TargetControlID="txtMiddlename" FilterType="LowercaseLetters,UppercaseLetters"></asp:FilteredTextBoxExtender>
           <asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ValidationGroup="reg"
                Display="None" ErrorMessage="Enter middleName" ControlToValidate="txtMiddlename">
                </asp:RequiredFieldValidator>          
           <asp:ValidatorCalloutExtender ID="ValidatorCalloutExtender2" runat="server" TargetControlID="RequiredFieldValidator2"></asp:ValidatorCalloutExtender>        
        </td>
        </tr>
        <tr>
        <td align="left">LastName:</td>
        <td align="left">
            <asp:TextBox ID="txtLastname" runat="server" Height="18px" Width="200px" ></asp:TextBox>
            <asp:FilteredTextBoxExtender ID="FilteredTextBoxExtender3" runat="server" TargetControlID="txtLastname" FilterType="LowercaseLetters,UppercaseLetters"></asp:FilteredTextBoxExtender>
                 <asp:RequiredFieldValidator ID="RequiredFieldValidator3" runat="server" ValidationGroup="reg"
                 Display="None" ErrorMessage="Enter lastName" ControlToValidate="txtLastname">
                 </asp:RequiredFieldValidator>
            <asp:ValidatorCalloutExtender ID="ValidatorCalloutExtender3" runat="server" TargetControlID="RequiredFieldValidator3"></asp:ValidatorCalloutExtender>                  
         </td>
         </tr>
         <tr>
         <td align="left">Date of Birth:</td>  
         <td align="left">
             <asp:TextBox ID="txtDob" runat="server" Height="18px" Width="200px"></asp:TextBox>
             <asp:CalendarExtender ID="CalendarExtender" runat="server" TargetControlID="txtDob" ></asp:CalendarExtender>
             <asp:RequiredFieldValidator ID="RequiredFieldValidator6" runat="server" ValidationGroup="reg"
                  Display="None" ErrorMessage="Select Day"
                  ControlToValidate="txtDob" InitialValue="0"></asp:RequiredFieldValidator>
             <asp:ValidatorCalloutExtender ID="ValidatorCalloutExtender6" runat="server" TargetControlID="RequiredFieldValidator6"></asp:ValidatorCalloutExtender> 
         </td>
       
         <td align="left">Gender:</td>                       
         <td align="left">
             <asp:RadioButtonList ID="rdGender" runat="server" RepeatDirection="Horizontal"
                 Height="18px" >
                  <asp:ListItem Value="Male">Male</asp:ListItem>
                  <asp:ListItem Value="Female">Female</asp:ListItem>                   
                  </asp:RadioButtonList>             
             <asp:RequiredFieldValidator ID="RequiredFieldValidator7" runat="server" ValidationGroup="reg"
                  Display="None"  ErrorMessage="Select Gender" ControlToValidate="rdGender" ></asp:RequiredFieldValidator> 
             <asp:ValidatorCalloutExtender ID="ValidatorCalloutExtender7" runat="server" TargetControlID="RequiredFieldValidator7"></asp:ValidatorCalloutExtender>                  
         </td>
         </tr>
         <tr>
          <td align="left">Mobile No.:</td>               
         <td align="left">
             <asp:TextBox ID="txtMobile" runat="server"  Height="18px" Width="200px"></asp:TextBox>
             <asp:FilteredTextBoxExtender ID="FilteredTextBoxExtender4" runat="server" TargetControlID="txtMobile" FilterType="Numbers"></asp:FilteredTextBoxExtender>
             <asp:RequiredFieldValidator ID="RequiredFieldValidator8" runat="server" ValidationGroup="reg"
                  Display="None" ErrorMessage="Enter Mobile No." ControlToValidate="txtMobile">
                  </asp:RequiredFieldValidator>
             <asp:ValidatorCalloutExtender ID="ValidatorCalloutExtender9" runat="server" TargetControlID="RequiredFieldValidator9"></asp:ValidatorCalloutExtender>
         </td>
        
        
         <td align="left">Marital Status:</td>
         <td align="left">
             <asp:RadioButtonList ID="rdMaritalstatus" runat="server" RepeatDirection="Horizontal" Height="18px">
                  <asp:ListItem>Unmarried</asp:ListItem>
                  <asp:ListItem>Married</asp:ListItem>
                  </asp:RadioButtonList>                        
             <asp:RequiredFieldValidator ID="RequiredFieldValidator9" runat="server" ValidationGroup="reg"
                  Display="None" ErrorMessage="Select Marital status" ControlToValidate="rdMaritalstatus">
                  </asp:RequiredFieldValidator>
             <asp:ValidatorCalloutExtender ID="ValidatorCalloutExtender8" runat="server" TargetControlID="RequiredFieldValidator8"></asp:ValidatorCalloutExtender>                      
         </td>
         </tr>
         <tr>
         <td align="left" class="style1">Blood Group:</td>                         
         <td align="left" class="style1">
             <asp:DropDownList ID="ddlBloodgroup" runat="server" Height="18px"
                 Width="200px" >
                                            <asp:ListItem Selected="True" Value="0">&lt;-- Select --&gt;</asp:ListItem>
                                            <asp:ListItem>A+</asp:ListItem>
                                            <asp:ListItem>A1+</asp:ListItem>
                                            <asp:ListItem>A2+</asp:ListItem>
                                            <asp:ListItem>B+</asp:ListItem>
                                            <asp:ListItem>A1B+</asp:ListItem>
                                            <asp:ListItem>A2B+</asp:ListItem>
                                            <asp:ListItem>AB+</asp:ListItem>
                                            <asp:ListItem>O+</asp:ListItem>
                                            <asp:ListItem>A-</asp:ListItem>
                                            <asp:ListItem>A1-</asp:ListItem>
                                            <asp:ListItem>A2-</asp:ListItem>
                                            <asp:ListItem>B-</asp:ListItem>
                                            <asp:ListItem>A1B-</asp:ListItem>
                                            <asp:ListItem>A2B-</asp:ListItem>
                                            <asp:ListItem>AB-</asp:ListItem>
                                            <asp:ListItem>O-</asp:ListItem>
                                        </asp:DropDownList>
              <asp:RequiredFieldValidator ID="RequiredFieldValidator10" runat="server" ValidationGroup="reg"
                   Display="None" ErrorMessage="Select Blood Group"
                 ControlToValidate="ddlBloodgroup" InitialValue="0"></asp:RequiredFieldValidator>
              <asp:ValidatorCalloutExtender ID="ValidatorCalloutExtender10" runat="server" TargetControlID="RequiredFieldValidator10"></asp:ValidatorCalloutExtender>
         </td>                         
        
         <td align="left" class="style1">Address:</td>                             
         <td align="left" class="style1">
             <asp:TextBox ID="txtAddress" runat="server" TextMode="MultiLine" Height="53px"
                 Width="200px"></asp:TextBox>
             <asp:RequiredFieldValidator ID="RequiredFieldValidator11" runat="server" ValidationGroup="reg"
                  Display="None" ErrorMessage="Enter Your Address" ControlToValidate="txtAddress">
                  </asp:RequiredFieldValidator>
             <asp:ValidatorCalloutExtender ID="ValidatorCalloutExtender11" runat="server" TargetControlID="RequiredFieldValidator11"></asp:ValidatorCalloutExtender>
         </td>
         </tr>
         <tr>
         <td align="left">State:</td>                         
         <td align="left">
             <asp:DropDownList ID="ddlState" runat="server" Height="18px" Width="200px"
                 AutoPostBack="True" DataTextField="sname" DataValueField="sname"
                 onselectedindexchanged="ddlState_SelectedIndexChanged" >
                 <asp:ListItem Selected="True" Value="0">&lt;-- Select --&gt;</asp:ListItem>
             </asp:DropDownList>
             <asp:RequiredFieldValidator ID="RequiredFieldValidator12" runat="server" ValidationGroup="reg"
                  Display="None" ErrorMessage="Select state" ControlToValidate="ddlState"
                 InitialValue="&lt;-- Select --&gt;"></asp:RequiredFieldValidator>
             <asp:ValidatorCalloutExtender ID="ValidatorCalloutExtender12" runat="server" TargetControlID="RequiredFieldValidator12"></asp:ValidatorCalloutExtender>                          
         </td>
      
         <td align="left">District:</td>                    
         <td align="left">
             <asp:DropDownList ID="ddlDistrict" runat="server" Height="18px" Width="200px"
                 DataTextField="dname" DataValueField="dname" >
                 <asp:ListItem Selected="True" Value="0">&lt;-- Select --&gt;</asp:ListItem>
             </asp:DropDownList>
             <asp:RequiredFieldValidator ID="RequiredFieldValidator13" runat="server" ValidationGroup="reg"
                  Display="None" ErrorMessage="Select District"
                 ControlToValidate="ddlDistrict" InitialValue="&lt;-- Select --&gt;"></asp:RequiredFieldValidator>                         
             <asp:ValidatorCalloutExtender ID="ValidatorCalloutExtender13" runat="server" TargetControlID="RequiredFieldValidator13"></asp:ValidatorCalloutExtender>                          
         </td>                          
         </tr>
         <tr>
         <td align="left">City:</td>
         <td align="left">
             <asp:TextBox ID="txtCity" runat="server" Height="18px" Width="200px"></asp:TextBox>
             <asp:FilteredTextBoxExtender ID="FilteredTextBoxExtender5" runat="server" TargetControlID="txtCity" FilterType="UppercaseLetters,LowercaseLetters"></asp:FilteredTextBoxExtender>
             <asp:RequiredFieldValidator ID="RequiredFieldValidator14" runat="server" ValidationGroup="reg"
                  Display="None" ErrorMessage="Enter Your City" ControlToValidate="txtCity">
                  </asp:RequiredFieldValidator>
             <asp:ValidatorCalloutExtender ID="ValidatorCalloutExtender14" runat="server" TargetControlID="RequiredFieldValidator14"></asp:ValidatorCalloutExtender>
         </td>
   
         <td align="left">Pincode:</td>
         <td align="left">
             <asp:TextBox ID="txtPincode" runat="server" Height="18px" Width="200px" ></asp:TextBox>
             <asp:FilteredTextBoxExtender ID="FilteredTextBoxExtender6" runat="server" TargetControlID="txtPincode" FilterType="Numbers"></asp:FilteredTextBoxExtender>
             <asp:RequiredFieldValidator ID="RequiredFieldValidator15" runat="server" ValidationGroup="reg"
                  Display="None" ErrorMessage="Enter Pincode" ControlToValidate="txtPincode">
                  </asp:RequiredFieldValidator>
             <asp:ValidatorCalloutExtender ID="ValidatorCalloutExtender15" runat="server" TargetControlID="RequiredFieldValidator15"></asp:ValidatorCalloutExtender>
         </td>
         </tr>
         <tr>
         <td align="left">Email ID:</td>
         <td align="left">
             <asp:TextBox ID="txtEmail" runat="server" Height="18px" Width="200px" ></asp:TextBox>
             <asp:RequiredFieldValidator ID="RequiredFieldValidator16" runat="server" ValidationGroup="reg"
                  Display="None" ErrorMessage="Enter Email ID" ControlToValidate="txtEmail">
                  </asp:RequiredFieldValidator>
              <asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server"
                   ControlToValidate="txtEmail" ErrorMessage="Please Enter  Valid Email_id." Display="None"
                   ValidationExpression="\w+([+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"></asp:RegularExpressionValidator>
             <asp:ValidatorCalloutExtender ID="ValidatorCalloutExtender16" runat="server" TargetControlID="RequiredFieldValidator16"></asp:ValidatorCalloutExtender>
             <asp:ValidatorCalloutExtender ID="ValidatorCalloutExtender20" runat="server" TargetControlID="RegularExpressionValidator1"></asp:ValidatorCalloutExtender>   
         </td>
         </tr>
         <tr>
         <td align="left">UserName:</td>
         <td align="left">
             <asp:TextBox ID="txtUsername1" runat="server" Height="18px" Width="200px"></asp:TextBox>
             <asp:RequiredFieldValidator ID="RequiredFieldValidator17" runat="server" ValidationGroup="reg"
                  Display="None" ErrorMessage="Enter UserName" ControlToValidate="txtUsername1">
                  </asp:RequiredFieldValidator>
             <asp:ValidatorCalloutExtender ID="ValidatorCalloutExtender17" runat="server" TargetControlID="RequiredFieldValidator17"></asp:ValidatorCalloutExtender>   
         </td>
         </tr>                           
         <tr>
         <td align="left">Password:</td>
         <td align="left">
             <asp:TextBox ID="txtPassword1" runat="server" Height="18px" Width="200px"></asp:TextBox>
             <asp:RequiredFieldValidator ID="RequiredFieldValidator18" runat="server" ValidationGroup="reg"
                  Display="None" ErrorMessage="Enter Password" ControlToValidate="txtPassword1">
                  </asp:RequiredFieldValidator>
             <asp:ValidatorCalloutExtender ID="ValidatorCalloutExtender18" runat="server" TargetControlID="RequiredFieldValidator18"></asp:ValidatorCalloutExtender>   
         </td>
       
         <td align="left">Confirm Password:</td>
         <td align="left">
             <asp:TextBox ID="txtConfirmpassword" runat="server" Height="18px" Width="200px"></asp:TextBox>
             <asp:RequiredFieldValidator ID="RequiredFieldValidator19" ControlToValidate="txtConfirmpassword"
                  runat="server" ValidationGroup="reg" Display="None" ErrorMessage="Please Enter Confirm Password">
                  </asp:RequiredFieldValidator>
             <asp:CompareValidator ID="CompareValidator1" runat="server" ControlToValidate="txtConfirmpassword" Display="None"
                  ValidationGroup="reg" ControlToCompare="txtPassword1" ErrorMessage="Password & Confirm Password not be match">
                  </asp:CompareValidator>                     
             <asp:ValidatorCalloutExtender ID="ValidatorCalloutExtender19" runat="server" TargetControlID="RequiredFieldValidator19"></asp:ValidatorCalloutExtender>                          
             <asp:ValidatorCalloutExtender ID="ValidatorCalloutExtender4" runat="server" TargetControlID="CompareValidator1"></asp:ValidatorCalloutExtender>
         </td>
         </tr>
         <tr>
         <td colspan="4" align="center">
             <asp:CheckBox ID="chkAgree" runat="server" Text=" I Agree" />
         </td>
         </tr> 
        
         <tr>
         <td align="center" colspan="4" class="style2">
              <asp:Button ID="btnRegister" runat="server" Text="Register" Width="86px"
                  ValidationGroup="reg" onclick="btnRegister_Click" />
         </td>
         </tr>                       
        </table>


Default.aspx.CS

using System.Xml.Linq;
using System.Data.Linq;
using System.Text;

public partial class _Default : System.Web.UI.Page
{
    DataClassesDataContext dc = new DataClassesDataContext();
    DataTable dt = new DataTable();
    public void bind_state()
    {
        var st = dc.sp_state();
        ddlState.DataSource = st;
        ddlState.DataBind();
        dc.SubmitChanges();
        ddlState.Items.Insert(0, "<-- Select -->");
       
    }
    public void autocomplate_field()
    {
        txtFirstname.Attributes.Add("autocomplete", "off");
        txtMiddlename.Attributes.Add("autocomplete", "off");
        txtLastname.Attributes.Add("autocomplete", "off");
        txtDob.Attributes.Add("autocomplete", "off");
        txtMobile.Attributes.Add("autocomplete", "off");
        txtCity.Attributes.Add("autocomplete", "off");
        txtPincode.Attributes.Add("autocomplete", "off");
        txtEmail.Attributes.Add("autocomplete", "off");
        txtUsername1.Attributes.Add("autocomplete", "off");
        txtPassword1.Attributes.Add("autocomplete", "off");
        txtConfirmpassword.Attributes.Add("autocomplete", "off");
    }
    private string Encryptdata(string password)
    {
        string strmsg = string.Empty;
        byte[] encode = new byte[password.Length];
        encode = Encoding.UTF8.GetBytes(password);
        strmsg = Convert.ToBase64String(encode);
        return strmsg;
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            bind_state();
            autocomplate_field();
        }
    }
    protected void btnRegister_Click(object sender, EventArgs e)
    {
        if (chkAgree.Checked == true)
        {
            string encPW= Encryptdata(txtPassword1.Text);
            dc.sp_register(txtFirstname.Text, txtMiddlename.Text, txtLastname.Text, txtDob.Text, rdGender.SelectedValue, Convert.ToInt64(txtMobile.Text), rdMaritalstatus.SelectedValue, ddlBloodgroup.SelectedValue, txtAddress.Text, ddlState.SelectedValue, ddlDistrict.SelectedValue, txtCity.Text, Convert.ToInt32(txtPincode.Text), txtEmail.Text, txtUsername1.Text, encPW);
            Response.Redirect("login.aspx");
        }
        else
        {
            Response.Write("<script>alert('Please Agree with turms & conditions');</script>");
        }
    }
    protected void ddlState_SelectedIndexChanged(object sender, EventArgs e)
    {
        int i = ddlState.SelectedIndex;
        var dis = dc.sp_district(i);
        ddlDistrict.DataSource = dis;
        ddlDistrict.DataBind();
        dc.SubmitChanges();
        ddlDistrict.Items.Insert(0, "<-- Select -->");
    }
}