来自不同型号的级联下拉列表

时间:2012-08-16 09:41:17

标签: asp.net-mvc-3

在我的MVC3应用程序中,我有两个下拉菜单"类别"和" SubCategory"在视图中来自两个不同的模型。视图本身属于第三个模型。我正在使用NHibernate进行ORM。

我的问题是我如何级联这两个下拉菜单。 SubCategory下拉列表应显示值,具体取决于在Category下拉列表中选择的值。所述"分类"下拉列表从"类别"中检索值model && 34; SubCategory"下拉列表从" SubCategories"中检索值模型。这两个下拉列表显示在属于另一个模型"费用"的视图中。

请查看此代码段以获取更多信息。费用视图有以下下拉列表:

@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是包含从数据库中检索Categories和SuCategories的方法的类。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

就个人而言,我只会填充第一个下拉列表,然后在选择更改时执行AJAX请求 - 请求所选类别ID的子类别选项。从您获得的结果中,您可以重建子类别列表。查看this post