【发布时间】:2015-05-15 22:59:08
【问题描述】:
我的视图中有 2 个 DropDownList 项目。 DropDownList1 的 SelectList 从数据库中获取一次,不再进一步更改。每次用户更改 DropDownList1 的选定索引时,DropDownList2 的 SelectedList 也必须更改。
这是我尝试实现此功能的方式:
@{
var selectList1 = MyApp.Models.Model1.GetAll();
Int32 selectedId = 0;
@Html.DropDownListFor(s => selectedId, new SelectList(selectList1,
"dataValueField1",
"dataTextField1") as SelectList,
"Choose item...")
var selectList2 = MyApp.Models.Model2.GetItemsById(selectedId);
@Html.DropDownListFor(model2 => model2.SelectedItem2, new SelectList(selectList2,
"dataValueField2",
"dataTextField2") as SelectList,
"Choose item2..")
}
我知道,每次更改 DropDownList1 的选定索引时,我都必须更新 selectList2 变量,然后再更新 DropDownList2。 那么,实现这种行为的最佳方法是什么?
【问题讨论】:
-
您需要使用javascript处理第一个的
.change()事件并使用ajax更新第二个。 Refer this example -
投票赞成斯蒂芬的选择。如果没有完成,请不要忘记添加对 jquery 库的引用。
标签: c# jquery asp.net-mvc razor