In this blog we will know 
how to insert Checkbox List values into database. Here we use CustomValidator 
for validating Checkbox List.
<%@
Page Language="C#"
AutoEventWireup="true"
CodeBehind="Default.aspx.cs"
Inherits="Checkboxlist_values_into_database._Default"
%>
<!DOCTYPE
html PUBLIC
"-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html
xmlns="http://www.w3.org/1999/xhtml"
>
<head
runat="server">
    <title>Untitled 
Page</title>
    <script
type="text/javascript">
    function selectone(chk)
    {
        var chkList = 
chk.parentNode.parentNode.parentNode; 
        var chks = chkList.getElementsByTagName("input");
        for(var 
i=0;i<chks.length;i++)
        {
            if(chks[i] != chk && chk.checked)
            {
                chks[i].checked=false;
            }
        }
    }
   
function Validate(source, args)
{
var 
chkList= document.getElementById ('<%= 
nationality_chk.ClientID %>');
var 
chkListinputs = chkList.getElementsByTagName("input");
for(var 
i=0;i<chkListinputs .length;i++)
{
if(chkListinputs 
[i].checked)
{
args.IsValid = true;
return;
}
}
args.IsValid = false;
}
   
</script>
</head>
<body>
   
<form
id="form1"
runat="server">
    <div>
    <table
align="center">
            <tr>
                <td
colspan="2">
                    <h3>
                         Registraion</h3>
                </td>
            </tr>
            <tr>
                <td>
                    Name:</td>
                <td>
                    <asp:TextBox
ID="txtName"
runat="server"></asp:TextBox>
                </td>
                <td><asp:RequiredFieldValidator
ID="RequiredFieldValidator2"
runat="server"
ErrorMessage="Enter 
Name" ControlToValidate="txtName"></asp:RequiredFieldValidator>
</td>
            </tr>
            <tr>
                <td>
                    Email</td>
                <td>
                    <asp:TextBox
ID="txtEmail"
runat="server"></asp:TextBox>
                </td>
                <td><asp:RequiredFieldValidator
ID="RequiredFieldValidator3"
runat="server"
ErrorMessage="Enter 
Email" ControlToValidate="txtEmail"></asp:RequiredFieldValidator>
</td>
            <td>
<asp:RegularExpressionValidator
ID="RegularExpressionValidator1"
runat="server"
ErrorMessage="Invaid 
Email" ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"
ControlToValidate="txtEmail"></asp:RegularExpressionValidator>
</td>
           
</tr>
            <tr>
                <td>
                    Nationality</td>
                <td>
                    <asp:CheckBoxList
ID="nationality_chk" 
runat="server"
                        RepeatDirection="Horizontal">
                    <asp:ListItem>Indian</asp:ListItem>
                        <asp:ListItem>Foreigner</asp:ListItem>
               
</asp:CheckBoxList></td>
                <td><asp:CustomValidator
runat="server"
ID="cvlist"
ClientValidationFunction="Validate"
ErrorMessage="Please 
check Atleast one" ></asp:CustomValidator></td>
                
</tr>
            <tr>
                <td
align="center" 
colspan="2">
                    <asp:Button
ID="btn_register"
runat="server" 
Text="Register"
                       onclick="btn_register_Click"/>
                
</td>
            </tr>
            <tr>
                <td
align="center" 
colspan="2">
                    <asp:Label
ID="lblmsg"
runat="server"></asp:Label>
                </td>
            </tr>
        </table>
    </div>
    </form>
</body>
</html>
using 
System;
using 
System.Collections;
using 
System.Configuration;
using 
System.Data;
using 
System.Linq;
using 
System.Web;
using 
System.Web.Security;
using 
System.Web.UI;
using 
System.Web.UI.HtmlControls;
using 
System.Web.UI.WebControls;
using 
System.Web.UI.WebControls.WebParts;
using 
System.Xml.Linq;
using 
System.Data.SqlClient;
namespace 
Checkboxlist_values_into_database
{
    public partial
class _Default 
: System.Web.UI.Page
    {
        string strConnString =
ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
        SqlCommand com;
       
protected void 
btn_register_Click(object sender, EventArgs e)
        {
            SqlConnection con =
new SqlConnection(strConnString);
            com = new
SqlCommand();
            com.Connection = con;
            com.CommandType = CommandType.Text;
            com.CommandText = "insert into login 
values(@Name,@Email,@nationality)";
            com.Parameters.Clear();
            com.Parameters.AddWithValue("@Name", 
txtName.Text);
            com.Parameters.AddWithValue("@Email", 
txtEmail.Text);
            com.Parameters.AddWithValue("@nationality", 
nationality_chk.SelectedValue);
            if (con.State ==
ConnectionState.Closed)
                con.Open();
            com.ExecuteNonQuery();
            con.Close();
            lblmsg.Text = "Data entered 
successfully!!!";
            clear();
        }
        private void 
clear()
        {
            txtEmail.Text 
= "";
            txtName.Text = "";
            nationality_chk.ClearSelection();
        }
       
protected void 
Page_Load(object sender,
EventArgs e)
        {
            for (int 
i = 0; i < nationality_chk.Items.Count; i++)
            {
                nationality_chk.Items[i].Attributes.Add("onclick",
"selectone(this)");
            }
        }
    }
}