我有一个复选框列表,它使用绑定从数据库中获取列表项,如下面的代码段所示:
CheckBoxList1.DataSource = GetValues();
CheckBoxList1.DataBind();
的GetValues():
var query = tran_DContext.get_ImportTabs();
foreach (var item in query)
{
TabList.Add(item.TabName);
}
return TabList;
上面的代码段成功检索了TabName列并将其放在checkboxlist中。但是,当在网站上选中复选框时,选择'价值没有流向我的代码。我错过了什么吗?我有以下代码:
private List<string> SelectedTabs()
{
string strTemp = string.Empty;
List<string> Seltabs = new List<string>();
foreach (ListItem lst in CheckBoxList1.Items)
{
if (lst.Selected)
Seltabs.Add(CheckBoxList1.SelectedValue);
}
return Seltabs;
}
帮助?
答案 0 :(得分:3)
你的foreach循环中存在问题。选择多个值时调用CheckBoxList1.SelectedValue
将导致返回第一个选定的值。
请改为尝试:
foreach (ListItem lst in CheckBoxList1.Items)
{
if (lst.Selected)
Seltabs.Add(lst.Value);
}