Я пишу вид Razor в ASP.NET MVC4.Создание динамических элементов управления в итеративном EditTemplate
У меня есть список объектов, которые я покажу. В настоящее время я использую @ Html.EditorFor() с EditTemplate, определенным для списка моделей данных.
Во-первых, я хотел бы условно отобразить/скрыть элементы управления в шаблоне редактирования с помощью 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...
Пробег через ViewData.TemplateInfo.HtmlFieldPrefix во время поиска google для ответов на эту проблему. Я, вероятно, могу использовать это для решения этой проблемы, но мне все еще интересно, есть ли у кого-нибудь хороший шаблон/план того, как справиться с этим сценарием. –