MVC 4의 목록에 대한 사용자 정의 모델 바인딩
항목 목록(IList)을 MVC의 뷰에 바인딩하는 것은 일반적인 과제였습니다. 개발자를 위한. 이전 솔루션이 존재하지만 MVC 4에는 프로세스를 단순화하는 향상된 기능이 도입되었습니다.
목록의 각 항목에 데이터 입력을 위한 고유한 양식이 필요한 시나리오의 경우 ViewModel을 다음과 같이 구성하는 것이 좋습니다.
public class MyViewModel { public List<Person> Persons{get;set;} }
View의 BeginForm 내에서:
@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) }
HttpPost 작업은 업데이트된 보기를 받습니다. 모델:
[HttpPost]public ViewResult(MyViewModel vm) { ... }
포스트백에서는 양식에 해당 입력이 있는 속성만 값을 갖습니다. 이는 MVC의 모델 바인딩이 연속된 ID를 찾고 간격이 발생한 후 바인딩을 중지하기 때문입니다. 따라서 목록의 모든 항목에 유효한 ID가 있고 양식에 공백이 없는지 확인하는 것이 중요합니다.
위 내용은 MVC 4의 뷰에 항목 목록을 효율적으로 바인딩하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!