ASP.NET MVC4 で Razor ビューを作成しています。
表示するオブジェクトのリストがあります。現在、データ モデルのリスト用に定義された EditTemplate で @Html.EditorFor() を使用しています。
まず、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...