Select and insert CheckBoxList values into database.

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)");
            }
        }
    }
}