Я пытаюсь создать представление, которое содержит список флажков, которые динамически создаются из базы данных, а затем извлекать список выбранных при отправке формы.Динамический список флажков и привязка к модели
Моя модель EF содержит класс:
public class ItemIWouldLikeACheckboxFor {
public int Id { get; set; }
public string Description { get; set; }
}
У меня есть модель представления, которая содержит список этих:
public class PageViewModel {
// various other properties
public List<ItemIWouldLikeACheckboxFor> checkboxList { get; set; }
}
Мой метод управления прибудете:
public ActionResult Create() {
var viewModel = new PageViewModel();
viewModel.checkboxList = db.ItemIWouldLikeACheckboxFors.ToList();
return View(viewModel);
}
Мои вид:
<% using (Html.BeginForm()) { %>
<%-- other stuff here... %>
<% foreach (var item in checkboxList) { %>
<%: Html.CheckBox(<!-- what exactly ?????? -->) %>
<% } %>
<%-- other stuff here...%>
<input type="submit" />
<% } %>
Мой метод управления пост:
[HttpPost]
public ActionResult Create(PageViewModel viewModel) {
// do stuff with other fields
// I would like to do something like:
foreach (var item in selectedCheckBoxes) {
// do stuff
}
}
Я не могу заставить его работать. Мои основные вопросы смешиваются в комментариях в фрагментах кода, но напомню:
- Является ли модель? (мне нужно добавить что-нибудь, чтобы захватить выбранные, а не просто список для отображения?)
- Что именно я должен помещать в представление для каждого окна?
- Как получить доступ к выбранным флажкам в контроллере после публикации?
Большое спасибо, что эта комбинация информации достала меня по линии. Следующий шаг (когда у меня больше времени) заключается в том, чтобы связать его в помощнике, как у вас есть ... – Jon
Есть много ресурсов на пользовательских помощниках, так что с вами все будет в порядке! Наслаждайтесь! –