我試圖創建一個視圖,其中包含從數據庫動態創建的複選框列表,然後在表單回發時檢索選定列表。動態列表的複選框和模型綁定
我的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; }
}
我控制器get方法:
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" />
<% } %>
我控制器POST方法:
[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
}
}
我似乎無法得到它的工作。我的基本問題是混合在代碼片斷意見,但回顧:
- 是我的視圖模型OK? (我是否需要添加任何內容來捕獲所選內容,而不僅僅是要顯示的列表?)
- 究竟應該在視圖中放置什麼來呈現每個複選框?
- 如何在帖子後訪問控制器中選定的複選框?
非常感謝你,信息的組合讓我滿意。下一步(當我有更多的時間)是把它綁在一個幫手,就像你有... – Jon 2010-07-13 14:24:06
有很多的資源定製助手,所以你會沒事的!請享用! – 2010-07-13 15:00:05