0
在我的MVC3應用程序中,我在視圖中有兩個下拉菜單「Category」和「SubCategory」,它們來自兩個不同的模型。視圖本身屬於第三種模式。我正在使用NHibernate for ORM。不同模型的級聯下拉
我的問題是如何級聯兩個下拉。子類別下拉菜單應顯示值取決於在類別下拉列表中選擇的值。 「類別」下拉菜單從「類別」模型中檢索值,「子類別」下拉菜單從「子類別」模型中檢索值。這兩個下拉列表顯示在屬於另一個模型「費用」的視圖中。
請查看此段代碼以獲取更多信息。支出觀點有以下下拉菜單:
@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方法。
任何幫助,這是非常感謝。
感謝您的回覆!我確實嘗試了建議的解決方案,但SubCategory下拉列表爲空,不顯示任何內容。當我從類別dropwdown中選擇值時,它會引發一個異常,因爲「ViewData未提供關鍵的CategoryId.CategoryName」。我在Expense Conyroller中做了popualte ViewData,作爲, ViewData [「CatgeoryId.CategoryName」] = CategoryClass.GetAllCategories(); 有關這個的任何想法? – shw 2012-08-20 09:19:05
你可以發佈你的點擊處理程序的類別下拉列表的JS,我會看看 – MiiisterJim 2012-08-21 16:31:04