I would like to build an empty Dropdownlistfor to received the results of a previous Dropdownlisfor selection:
The actual view:
Found a solution that I think is the best because it as no service call to build the dropdroplist empty and it's strongly typed:
@Html.DropDownListFor(m => m.Model_Id, Enumerable.Empty<SelectListItem>(), HeelpResources.DropdownlistModelFirstRecord)
Personally I would do this with a bit of jQuery and an additional partial view. Your form could look like this:
<div id="makes">
@Html.DropDownListFor(m => m.Make_Id, Model.MakeList, HeelpResources.DropdownlistMakeFirstRecord)
</div>
<div id="models">
</div>
<script type="text/javascript">
$(function(){
$("#Make_Id").change(function(){
$("#models").load("/Controller_Name/GetModels/" + this.val());
}
});
</script>
and then in your controller:
public ActionResult GetModels(int id)
{
ViewBag.DdlModels = new SelectList(rep.GetModelsForCar(id), "Id", "Name");
return PartialView();
}
and then just stick your drop down list in the GetModels partial view
The following is working:
@Html.DropDownListFor(m => m.Model_Id, **new SelectList(new List<string>()**));