Passing viewmodel to actionresult creates new viewmodel
- by Jonas Bohez
I am using a viewmodel, which i then when to send to an actionresult to use 
(the modified viewmodel)
But in the controller, i lose the list and objects in my viewmodel. This is my view:
@using PigeonFancier.Models
@model PigeonFancier.Models.InschrijvingModel
@using (Html.BeginForm("UpdateInschrijvingen","Melker",Model))
{
<div>
    <fieldset>
        <table>
            @foreach (var item in Model.inschrijvingLijst)
            {
                <tr>
                    <td>@Html.DisplayFor(model => item.Duif.Naam)</td>                              
                    <td> @Html.CheckBoxFor(model => item.isGeselecteerd)</td>                              
                </tr>
            }
        </table>   
        <input type="submit" value="Wijzigen"/>
    </fieldset>
</div>
}
This is my controller, which does nothing at the moment until i can get the full viewmodel back from the view.
public ActionResult UpdateInschrijvingen(InschrijvingModel inschrijvingsModel)
    {
        // inschrijvingsModel is not null, but it creates a new model before 
            it comes here with 
        //Use the model for some updates
        return RedirectToAction("Inschrijven", new { vluchtId = 
                   inschrijvingsModel.vlucht.VluchtId });
    }
This is the model with the List and some other objects who become null because it creates a new model when it comes back from the view to the actionresult
public class InschrijvingModel
{
    public Vlucht vlucht;
    public Duivenmelker duivenmelker;
    public List<CheckBoxModel> inschrijvingLijst { get; set; }
    public InschrijvingModel()
    {
        // Without this i get, No parameterless constructor defined exception. 
        // So it uses this when it comes back from the view to make a new model
    }
    public InschrijvingModel(Duivenmelker m, Vlucht vl)
    {
        inschrijvingLijst = new List<CheckBoxModel>();
            vlucht = vl;
            duivenmelker = m;
        foreach (var i in m.Duiven)
        {
            inschrijvingLijst.Add(new CheckBoxModel(){Duif = i, 
            isGeselecteerd =  i.IsIngeschrevenOpVlucht(vl)});
        }
    }
What is going wrong and how should i fix this problem please? 
Thanks