C#CheckBoxList检查项目字符串

问题描述:

我有一个CheckBoxList其中的一些项目,当用户点击一个按钮,我希望被检查的文本框的值被添加到一个单一的字符串。我已经在这里看到了所有答案,但其中大多数不起作用或产生不希望的结果。这里是我到目前为止的代码:C#CheckBoxList检查项目字符串

string selectedItems = CheckBoxList1.Items.??? 

不知道在哪里可以从这里走。任何帮助表示赞赏!

+1

做到这一点帮助:HTTP://stackoverflow.com/questions/12429655/getting-checkboxlist-item-values? – 2014-11-06 17:39:50

您可以使用String.Join与LINQ,如:

string selectedItems = String.Join(",", 
    CheckBoxList1.Items.OfType<ListItem>().Where(r => r.Selected) 
     .Select(r => r.Text)); 

这会给你一个逗号分隔的所有选定项的字符串。

+0

是'OfType'在这里有必要吗? – 2014-11-06 17:46:49

+0

@EhsanSajjad,'OfType'或'Cast'使用LINQ,否则它只是一个'ItemCollection',你不能在它上面使用LINQ。 – Habib 2014-11-06 17:49:55

+0

在这种情况下,物品不是收藏品? – 2014-11-06 17:50:49

试试这个:

var selected = string.Join(", ", CheckBoxList1.Items.Cast<ListItem>() 
         .Where(li => li.Selected).Select(x => x.Value).ToArray()); 
+0

这将工作,假设他想''值'而不是'文本'。 – 2014-11-06 17:47:00