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