У меня есть форма, которая содержит множество флажков, а также некоторые другие типы элементов управления. Мне нужно получить названия каждого выбранного флажка.
Как лучше всего это сделать? Могу я сделать это с помощью запроса 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));