c# - asp.net 级联下拉列表
问题描述
我有以下模型:
卡车类型
- ID
- 描述
- 型号代码列表
型号代码
- ID
- 代码
现在我想创建一个页面,其中有两个下拉菜单,一个用于 TruckType,一个用于 ModelCode,以便我可以显示与选择相对应的卡车。
我可以填写第一个,但是一旦您在第一个下拉列表中选择了一个值,我该如何填写第二个下拉列表?
解决方案
显然,考虑dropdownlist1
将结果过滤dropdownlist2
并适应您的数据库模式和上下文的那个。
$("#dropdownlist1_ID").change(function() {
$.ajax({
type: 'POST',
url: 'GetValuesForDropdownlist2',
dataType: 'json',
data: { id: $("#dropdownlist1_ID").val() },
success: function (data) {
$.each(data, function (i, item) {
$("#dropdownlist2_ID").append('<option value="' + item.Value + '">' + item.Text + '</option>');
});
},
error: function (ex) {
console.log('Failed to retrieve data. Exception: ' + ex);
}
});
});
在控制器中类似于:
public JsonResult GetValuesForDropdownlist2(int id)
{
var selected = db.dropdownlist1_Table.Where(t => t.Id == id).FirstOrDefault();
return Json(new SelectList(db.dropdownlist2_Table.Where(t => (t.Column_To_Filter == selected.Id)), "Column_ID", "Column_Description"));
}
推荐阅读
- r - 在 R 中从头开始创建一个 ggplot() 来说明结果
- python - “没有模块命名...” - 尽管代码似乎可以工作,但编辑器中的错误
- c++ - 如何在 C++ 中使用带有“do while”循环的计数器?
- c++ - 使用固定宽度整数时的 C++98 迂腐错误
- php - 如果优惠券应用于 WooCommerce 中的购物车,则仅显示登录用户的 BACS 支付网关
- r - 一个 R 闪亮的应用程序,显示 ggplot 图和 plotly 图
- c - GCC 无法识别文件内的目录路径
- java - 如何通过按下按钮隐藏 JPopupMenu?
- html - CSS 正确地指示宽度,但 .svgs 仍然被高度截断
- r - 为什么在 R 中使用事件函数的 ODE 解决方案存在差异?