데이터베이스에서 동적으로 생성 된 확인란 목록을 포함하는보기를 만든 다음 양식을 다시 게시 할 때 선택한 목록을 검색하려고합니다.체크 박스와 모델 바인딩의 동적 목록
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 메소드 :
내 EF 모델은 클래스가 포함되어
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
커스텀 헬퍼에 대한 많은 리소스가 있으므로 잘될 것입니다! 즐겨! –