我正在 ASP.NET MVC4 中编写 Razor 视图。
我有一个要显示的对象列表。我目前正在使用 @Html.EditorFor() 和为数据模型列表定义的 EditTemplate。
首先,我想使用 jquery 有条件地显示/隐藏编辑模板中的控件,但我不确定脚本应该放在哪里(也许在编辑模板中?)以及它如何在当前迭代中仅选择相关控件编辑模板。
接下来我想要一个添加按钮来生成控件的新实例(可能通过 AJAX?)并将其添加到客户端的列表中。
以前有人做过这样的事情吗?有没有办法在模板中获取迭代计数,以便我可以将它放在控件类或其他东西中?我需要能够在 jquery 中选择它们,以便切换控制状态。
代码看起来像这样:
在主视图中:
@Html.EditorFor(vm => vm.ListOfChildViewModels)
<button type="button" class="btn" id="btnAddViewModel">Add view model</button>
编辑器模板:
@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...