MVC 4의 목록에 모델 바인딩
항목의 IList를 MVC 4의 뷰에 바인딩하려고 하면 문제가 발생할 수 있습니다. HttpPost 중. 이 문제를 해결하려면 다음 패턴을 고려하세요.
ViewModel:
항목의 IList를 포함하는 ViewModel 만들기:
public class MyViewModel { public List<Person> Persons{get;set;} }
보기:
보기에서 IList를 반복하고 생성합니다. 각 속성에 대한 양식 입력:
@model MyViewModel @for( int i = 0; i < Model.Persons.Count(); ++i) { @Html.HiddenFor(m => m.Persons[i].PersonId) @Html.EditorFor(m => m.Persons[i].FirstName) @Html.EditorFor(m => m.Persons[i].LastName) }
작업:
작업 메서드에서 게시된 MyViewModel을 처리합니다. 객체:
[HttpPost]public ViewResult(MyViewModel vm) { ... }
고려 사항:
@for( int i = 0; i < Model.Persons.Count(); ++i) { @Html.Hidden($"Persons[{i}].PersonId", Model.Persons[i].PersonId) @Html.Editor($"Persons[{i}].FirstName", Model.Persons[i].FirstName) @Html.Editor($"Persons[{i}].LastName", Model.Persons[i].LastName) }
위 내용은 HttpPost 중에 ASP.NET MVC 4의 뷰에 목록을 효과적으로 바인딩하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!