C#CheckBoxList检查项目字符串
我有一个CheckBoxList
其中的一些项目,当用户点击一个按钮,我希望被检查的文本框的值被添加到一个单一的字符串。我已经在这里看到了所有答案,但其中大多数不起作用或产生不希望的结果。这里是我到目前为止的代码:C#CheckBoxList检查项目字符串
string selectedItems = CheckBoxList1.Items.???
不知道在哪里可以从这里走。任何帮助表示赞赏!
您可以使用String.Join
与LINQ,如:
string selectedItems = String.Join(",",
CheckBoxList1.Items.OfType<ListItem>().Where(r => r.Selected)
.Select(r => r.Text));
这会给你一个逗号分隔的所有选定项的字符串。
是'OfType'在这里有必要吗? – 2014-11-06 17:46:49
@EhsanSajjad,'OfType'或'Cast'使用LINQ,否则它只是一个'ItemCollection',你不能在它上面使用LINQ。 – Habib 2014-11-06 17:49:55
在这种情况下,物品不是收藏品? – 2014-11-06 17:50:49
试试这个:
var selected = string.Join(", ", CheckBoxList1.Items.Cast<ListItem>()
.Where(li => li.Selected).Select(x => x.Value).ToArray());
这将工作,假设他想''值'而不是'文本'。 – 2014-11-06 17:47:00
做到这一点帮助:HTTP://stackoverflow.com/questions/12429655/getting-checkboxlist-item-values? – 2014-11-06 17:39:50