ASP.NET MVC4에서 Razor 뷰를 쓰고 있습니다.반복 EditTemplate에서 동적 컨트롤 만들기
표시 할 개체 목록이 있습니다. 현재 데이터 모델 목록에 대해 정의 된 EditTemplate을 사용하여 @ Html.EditorFor()를 사용하고 있습니다.
먼저 편집 템플릿에서 jquery를 사용하여 컨트롤을 표시/숨기고 싶지만 스크립트가 어디에 (예 : 편집 템플릿에서) 살아야하는지 잘 모르겠습니다. 어떻게 관련 컨트롤 만 선택할 수 있는지 편집 템플릿의 현재 반복
다음 컨트롤의 새 인스턴스 (아마도 AJAX를 통해?)를 생성하는 추가 단추를 클라이언트 측의 목록에 추가하고 싶습니다.
아무도 이런 식으로 아무것도하지 않았습니까? 컨트롤이나 뭔가의 클래스에 넣을 수 있도록 템플릿 내부에서 반복 횟수를 얻을 수있는 방법이 있습니까? jquery에서 컨트롤 상태를 전환 할 수 있도록 선택할 수 있어야합니다.
주 화면에서 :
코드는 다음과 같이 보이는
@Html.EditorFor(vm => vm.ListOfChildViewModels)
<button type="button" class="btn" id="btnAddViewModel">Add view model</button>
EditorTemplate :
@MyNamespace.Web.ViewModels.VMType
@Html.DropDownListFor(vm => vm.SelectorProperty, Model.SelectorOptions)
// This checkbox should only get displayed if the dropdown has selectedIndex == 0
@Html.CheckBoxFor(vm => vm.Option1)
// This checkbox should only get displayed if the dropdown has selectedIndex == 1
@Html.CheckBoxFor(vm => vm.Option2)
// Etc...
Google에서이 문제에 대한 답변을 검색하는 동안 ViewData.TemplateInfo.HtmlFieldPrefix에 걸쳐 있어야합니다. 아마도이 문제를 해결하기 위해이 방법을 사용할 수 있지만이 시나리오를 해결하는 방법에 대한 좋은 패턴/계획이 있는지 궁금해합니다. –