I'm a bit confused because I thought this a very straight-forward thing, it's possibly something simple tripping me up.

I have a view:

```
@model IEnumerable<CarViewModel>

@using (Html.BeginForm("SummarySaveAll", "VroomVroom", FormMethod.Post))
{
  @Html.AntiForgeryToken()
  <div>
    <table>
        <thead>
            <tr>
                <th width="1">
                    @Html.DisplayNameFor(model => model.Driver)
                </th>
                <th width="1">
                    @Html.DisplayNameFor(model => model.Colour.Name)
                </th>
            </tr>
        </thead>

        <tbody>
            @foreach (var element in Model)
            {
                <tr>
                    <td width="1">
                        @Html.DisplayFor(m => element.Driver)
                    </td>
                    <td width="1">
                        @Html.DropDownListFor(m => element.Colour, element.Colours, "Unknown")
                    </td>
                </tr>
            }
        </tbody>
    </table>
    <div>
        <input type="submit" value="Save Changes" class="btn" />
        @Html.ActionLink("Cancel Changes", "Index", null, new { @class = "btn" })
    </div>
  </div>
}

```

and the list/enumerable of `CarViewModel` is supposed to bounce back to the `VroomVroom` controller, action `SummarySaveAll` which it does - but the viewmodel on the page doesn't get passed back to it:

```
    [HttpPost]
    public ActionResult SummarySaveAll(IEnumerable<CarViewModel> summaries)
    {
        // Want to do stuff with summaries but it's always null
        return View();
    }

```

I tried to encapsulate the List in another ViewModel and cycle through elements using a `for i` loop but that wouldn't pass back to the controller either.

**Surely it's possible to send a List or IEnumerable of models back to a controller?**

My CarVM:

```
public class CarViewModel
{
    [MaxLength(150)]
    [Display(AutoGenerateField = true, Name = "Entered By")]
    public string Driver { get; set; }

    [Display(AutoGenerateField = true)]
    public Colour Colour { get; set; }

    [Key]
    [Display(AutoGenerateField = false)]
    public int Id { get; set; }

    [Display(AutoGenerateField = false)]
    public bool IsDeleted { get; set; } = false;

    public IEnumerable<SelectListItem> Colours { get; set; }

    public CarViewModel() { }

    public CarViewModel(Model CarModel summaryModel, CarPropertyCollection propertyCollection)
    {
        Driver = summaryModel.Driver;
        Id = summaryModel.Id;
        IsDeleted = summaryModel.IsDeleted;

        Colour = summaryModel.Colour == null ? null :
            propertyCollection.Colours.Where(x => x.Id == summaryModel.Colour.Id).FirstOrDefault();

        Colours = propertyCollection.Colours.Select(x => new SelectListItem { Value = x.Id.ToString(), Text = x.Name });

    }
}

```

}

Must stress that `Colour` is a custom class but only has Id and Name properties