Получение всех выбранных флажков из коллекции FormCollection

У меня есть форма, которая содержит множество флажков, а также некоторые другие типы элементов управления. Мне нужно получить названия каждого выбранного флажка.

Как лучше всего это сделать? Могу я сделать это с помощью запроса linq?

Итак, в псевдокоде я хочу сделать что-то вроде этого:

var names = formCollection
               .Where(c => c is Checkbox && c.Checked)
               .Select(c => c.Name);

Обновление Кажется, способ отправки флажков в MVC отличается от того, как ведет себя обычная форма. , также отображается скрытое поле. Я нашел подробности здесь: Как обрабатывать флажки в формах ASP.NET MVC?

В любом случае, у меня это работает с помощью этого потока и ответа от BuildStarted ниже. Следующий код сработал.

var additionalItems = form.AllKeys
       .Where(k => form[k].Contains("true") && k.StartsWith("addItem"))
               .Select(k => k.Substring(7));

6
задан Community 23 May 2017 в 09:58
поделиться