맞춤형 ModelBinder를 살펴볼 수 있습니다.
나는 그리드를 사용하고 난 다음과 같습니다 확인란 열이 : 당신은 그냥 필요
[HttpPost]
public virtual ActionResult Index([ModelBinder(typeof(PendingRecievedItemsBinder))]IEnumerable<ShelfMyndr.Models.Previews.PendingReceivedCatalogItem> rcvdCatalogItems)
:
이
column.For(x => Html.CheckBox(x.CatalogItemId + "-rcvd", false)).DoNotEncode().Named("Received");
다시 게시 처리 할 수있는 컨트롤러의 내 작업 서명이입니다 IModelBinder
을 구현하는 클래스 이 사용
foreach (string key in controllerContext.HttpContext.Request.Form.AllKeys.Where(k => controllerContext.HttpContext.Request[k].Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries).Length > 1))
{
if (key.EndsWith("-rcvd"))
{
ci.IsReceived = true;
}
, 내 컨트롤러의 액션 대신 Forms 컬렉션 자체를 통해 반복의 항목의 목록을 하는가에 집중할 수 있습니다 다음 BindModel
방법 당신은 이런 식으로 뭔가를 할 수 있습니다.