Drop Down List into view (MVC)

41 views Asked by At

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.

1

There are 1 answers

0
Jackdaw On BEST ANSWER

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" })