Html.BeginCollectionItem을 사용하여 컬렉션을 부분 뷰에 전달
사용자가 모델의 여러 인스턴스를 추가할 수 있는 양식을 생성하는 경우 , 각 인스턴스에 대해 부분 보기를 렌더링해야 하는 경우가 많습니다. ASP.NET MVC는 이 프로세스를 용이하게 하기 위해 Html.BeginCollectionItem 도우미를 제공합니다.
BeginCollectionItem 도우미는 모델의 현재 인스턴스에 대한 양식 필드가 포함된 테이블 행을 만듭니다. 양식이 제출되면 이러한 필드에 입력된 데이터는 모델 개체의 해당 속성에 바인딩됩니다.
BeginCollectionItem을 사용하려면 먼저 단일 인스턴스에 대한 양식 필드를 나타내는 부분 보기를 만들어야 합니다. 모델의. 예를 들어 _Recipient.cshtml이라는 다음 부분 보기를 생각해 보세요.
@model CashRecipientVM <div>
이 부분 보기는 두 개의 텍스트 상자(수신자 및 금액)와 삭제 버튼이 있는 양식을 정의합니다. BeginCollectionItem 도우미는 모델의 각 인스턴스가 고유한 양식 필드 세트를 갖도록 보장합니다.
기본 보기에서 BeginCollectionItem 도우미를 사용하여 이러한 부분 보기 컬렉션을 양식에 추가할 수 있습니다. 예:
@model IEnumerable<CashRecipientVM> @using (Html.BeginForm()) { <div>
이 코드는 CashRecipientVM 개체 목록이 포함된 양식을 생성합니다. BeginCollectionItem 도우미는 목록의 각 개체에 대한 부분 보기를 렌더링하는 데 사용됩니다.
양식에는 사용자가 모델의 추가 인스턴스를 추가할 수 있는 "추가" 버튼이 포함되어 있습니다. "추가" 버튼을 클릭하면 다른 부분 보기를 검색하기 위해 컨트롤러에 AJAX 요청이 작성됩니다. 검색된 부분 보기는 양식에 추가됩니다.
양식이 제출되면 양식 필드에 입력된 데이터는 CashRecipientVM 개체의 해당 속성에 바인딩됩니다. 그런 다음 컨트롤러는 이러한 개체를 처리하고 데이터베이스에 저장할 수 있습니다.
위 내용은 Html.BeginCollectionItem을 사용하여 ASP.NET MVC 부분 보기에서 여러 모델 인스턴스를 관리하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!