selecting one value from checkboxlist

Posted by Chaithragm under C# on 3/12/2013 | Points: 10 | Views : 2050 | Status : [Member] | Replies : 3
<asp:CheckBoxList ID="nationality_chk" runat="server" RepeatDirection="Horizontal">
<asp:ListItem>Indian</asp:ListItem>
<asp:ListItem>Foreigner</asp:ListItem>
</asp:CheckBoxList>
i have to select one value from the list and store that value to database
im getting error while parsing the value
how to do this..




Responses

Posted by: Jayakumars on: 3/12/2013 [Member] [MVP] Bronze | Points: 25

Up
0
Down
hi

change lik this

<asp:CheckBoxList ID="nationality_chk" runat="server" RepeatDirection="Horizontal">
<asp:ListItem Text ="Indian" Value="1"></asp:ListItem>
<asp:ListItem Text ="Foreigner" Value="2"></asp:ListItem>
</asp:CheckBoxList>

Mark as Answer if its helpful to you

Chaithragm, if this helps please login to Mark As Answer. | Alert Moderator

Posted by: Santhi on: 3/12/2013 [Member] Starter | Points: 25

Up
0
Down
Hi

What is the datatype of the value which you are storing on the database?
if it is an integer , you cannot convet this string value...

If you dont assign separate values for list items.
Then it takes text as the selected value.

When you try to convert this string value to an integer.
It will throw error.

So, you have to do according to your requirement.
if you need to store the values as an integer. then you need to have value for all the list items.


Thanks & Regards,
Santhi .V

Chaithragm, if this helps please login to Mark As Answer. | Alert Moderator

Posted by: Satyapriyanayak on: 3/12/2013 [Member] [MVP] Silver | Points: 25

Up
0
Down
<%@ 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 Text ="Indian"></asp:ListItem>
<asp:ListItem Text ="Foreigner"></asp:ListItem>--%>
<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)");
}
}
}
}


If this post helps you mark it as answer
Thanks

Chaithragm, if this helps please login to Mark As Answer. | Alert Moderator

Login to post response