C # CheckBoxList проверяет элементы на строку

1

У меня есть CheckBoxList с некоторыми элементами в нем, и когда пользователь нажимает кнопку, я хочу, чтобы значение проверенных текстовых полей добавлялось в одну строку. Я просмотрел все здесь, чтобы получить ответ, но большинство из них не работают или не дают нежелательных результатов. Вот код, который у меня есть до сих пор:

string selectedItems = CheckBoxList1.Items.???

Не уверен, куда идти отсюда. Любая помощь приветствуется!

Теги:
visual-studio
checkboxlist

2 ответа

8
Лучший ответ

Вы можете использовать String.Join с LINQ как:

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

Это даст вам разделенную запятыми строку всех выбранных элементов.

  • 0
    OfType вещь нужна здесь?
  • 0
    @EhsanSajjad, OfType или Cast для использования LINQ, в противном случае это просто ItemCollection и вы не можете использовать LINQ поверх него.
Показать ещё 7 комментариев
1

Попробуй это:

 var selected = string.Join(", ", CheckBoxList1.Items.Cast<ListItem>()
                         .Where(li => li.Selected).Select(x => x.Value).ToArray());
  • 0
    Это будет работать, предполагая, что он хочет value вместо text .

Ещё вопросы

Сообщество Overcoder
Наверх
Меню