【发布时间】:2015-06-27 02:46:50
【问题描述】:
我是 MVC 和 JavaScript 新手,我有一个关于 DropDownList 的问题。
我构建了一个“汽车租赁”程序,并且我有一个允许将新车添加到库存的视图。
该视图包括 2 个下拉列表(见下文):
<div class="editor-field">
@Html.DropDownList("ManufacturerId", string.Empty)
@Html.ValidationMessageFor(model => model.ManufacturerId)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.ModelId)
</div>
<div class="editor-field">
@Html.DropDownList("ModelId", string.Empty)
@Html.ValidationMessageFor(model => model.ModelId)
</div>
我希望当用户选择制造商(例如阿尔法罗密欧)时,“型号”列表框将仅显示“阿尔法米托”型号而不是完整列表...
我的控制器功能使用 ViewBag 将模型列表发送到视图,如下所示:
public ActionResult AddNewCar()
{
ViewBag.ManufacturerId = new SelectList(db.Manufacturers, "ManufacturerId", "ManufacturerName");
ViewBag.ModelId = new SelectList(db.Models, "ModelId", "ModelName");
ViewBag.BranchId = new SelectList(db.Branchs, "BranchId", "BranchName");
return View();
}
请指教。
谢谢, 阿尔莫格
【问题讨论】:
-
您需要 javascript/jquery 来生成级联下拉列表。参考this example。
-
您可以使用 Ajax 将制造 ID 发布到控制器操作并为其返回模型并重新绑定模型下拉列表。
标签: c# asp.net asp.net-mvc asp.net-mvc-4 razor