У меня есть 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
вещь нужна здесь?
OfType
или Cast
для использования LINQ, в противном случае это просто ItemCollection
и вы не можете использовать LINQ поверх него.
Попробуй это:
var selected = string.Join(", ", CheckBoxList1.Items.Cast<ListItem>()
.Where(li => li.Selected).Select(x => x.Value).ToArray());
value
вместо text
.