I have Controller:
public IActionResult Show()
{
var cars = new List<Cars>()
{
new Cars {Name = "BMW", Id = 1},
new Cars {Name = "KIA", Id= 2},
new Cars {Name = "FORD", ID = 3},
};
var vm = new MyModel
{
Cars = cars;
}
...return View(vm)
}
and View, where I want to use DropDownListFor to display all Cars.Name
:
@model MyModel;
<div>
....
<div class="col-md-5">
@Html.DropDownListFor(x => Model.Cars, new SelectList(Name, "Name", "Text"), htmlAttributes: new { @class = "form-control" })
/div>
<div>
but something I did wrong.
See example below:
public IActionResult Show()
{
var cars = new List<Car>()
{
new Car {Name = "BMW", Id = 1},
new Car {Name = "KIA", Id= 2},
new Car {Name = "FORD", Id = 3},
};
var vm = new MyModel { Cars = cars };
return View(vm);
}
Show.cshtml
:
@model Models.MyModel
@Html.DropDownListFor(m => Model.Cars.GetEnumerator().Current,
Model.Cars.Select(c =>
{
return new SelectListItem() { Text = c.Name,
Value = c.Id.ToString()
};
}),
null, new { @class = "form-control dropdown-list" })