要实现两个selectLists,而第二个依赖于第一个,我需要了解什么? 选择制造商以过滤发动机尺寸。最终将返回carDetails
public IActionResult Create()
{
ViewData["MakeId"] = new SelectList(_context.Sport, "MakeId", "MakeName");
ViewData["EngineId"] = new SelectList(_context.Venue, "EngineId", "EngineName");
return View();
}
我已经研究了“ where”功能,但是看不到如何使其在这种情况下起作用。
该视图当前使用“ cshtml”(剃刀)文件。内容的示例是:
<div class="form-group">
<label asp-for="MakeId." class="control-label"></label>
<select asp-for="MakeId" class="form-control" asp-items="ViewBag.MakeId"></select>
</div>
答案 0 :(得分:0)
您可以通过在页面加载时填充一个选择列表来做到这一点。然后,您可以允许用户选择您想要的内容,并在下拉列表上有一个调用javascript函数的onChange()。
您现在可以使用ajax调用来调用控制器,并获取数据以填充第二个下拉列表。
您的下拉列表HTML看起来应该像这样:
<select class="form-control" data-val="true" id="AN ID" name="A NAME (NOT NEEDED)"></select>
在ajax调用的成功部分中,您可以执行以下操作:
//Create a markup for a select
var markup = "<option Value='0'>Select option</option>";
//Populate the markup
for (var i = 0; i < result.length; i++) {
markup += "<option Value=" + result[i].Value + ">" + result[i].Text + "</option>";
}
//Populate dropdown with value
$("#//DROPDOWNLIST ID").html(markup).show();
这将允许您顺序填充下拉列表