0

私の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 を取得するメソッドを含むクラスです。

これに関するヘルプは大歓迎です。

4

1 に答える 1

0

個人的には、最初のドロップダウンにデータを入力し、選択が変更されたときに AJAX リクエストを実行して、選択したカテゴリ ID のサブカテゴリ オプションをリクエストします。返された結果から、サブカテゴリ リストを再構築することができます。この投稿をチェックしてください

于 2012-08-16T12:10:11.347 に答える