我有一个复选框列表,该列表以编程方式绑定到数据源,DataValueField
为"Id"
,DataTextField
为"Speciality".
目的是让用户检查至少一个speciality
(或多个)ID
然后保存到数据库中。
问题在于,如果用户选中了多个,系统只会选中一个已选中的IDs
。
如何获取已选中复选框的所有ID?我正在使用LINQ2SQL
。
答案 0 :(得分:0)
您是否使用SelectedItems
查找已检查的内容?那不是你想要的。您应该使用Items属性并使用LINQ表达式循环遍历它以查找已检查的属性。
var Values = CheckBoxList.Items
.Cast<ListItem>()
.Where(l => l.Selected)
.Select(i => int.parse(i.Value));
答案 1 :(得分:0)
也许是这样的:
int temp=0;
var checkIds= yourCheckBoxList.Items.Cast<ListItem>()
.Where (li =>li.Selected && int.TryParse(li.Value,out temp))
.Select (s=>temp);