私のMVC3アプリでは、2つの異なるモデルからのビューに「Category」と「SubCategory」の2つのドロップダウンがあります。ビュー自体は 3 番目のモデルに属します。ORMにNHibernateを使用しています。
私の質問は、2 つのドロップダウンをカスケードする方法です。SubCategory ドロップダウンには、Category ドロップダウンで選択した値に応じた値が表示されます。「Category」ドロップダウンは「Categories」モデルから値を取得し、「SubCategory」ドロップダウンは「SubCategories」モデルから値を取得します。これら 2 つのドロップダウンは、別のモデル「経費」に属するビューに表示されます。
詳細については、このコード スニペットを参照してください。経費ビューには次のドロップダウンがあります。
@using (Html.BeginForm()) {
<div class="editor-field">
@Html.DropDownListFor(model => model.CategoryId.CategoryName, new SelectList(new MyExpense.Persistence.Repositories.CategoriesRepository().GetCategoryName()))
@Html.ValidationMessageFor(model => model.CategoryId.CategoryName)
</div>
<div class="editor-field">
@Html.DropDownListFor(model => model.SubCategoryId.SubCategoryName, new SelectList(new MyExpense.Persistence.Repositories.SubCategoriesRepository().GetSubCategoryName()))
@Html.ValidationMessageFor(model => model.SubCategoryId.SubCategoryName)
</div>
}
CategoriesRepository と SubCategoriesRepository は、データベースからカテゴリと SuCategories を取得するメソッドを含むクラスです。
これに関するヘルプは大歓迎です。