Formulario MVC no puede publicar Lista de objetos

así que tengo una aplicación MVC Asp.net que está teniendo problemas. Básicamente, tengo una vista que contiene un formulario y su contenido está vinculado a una lista de objetos. Dentro de este bucle, carga PartialView con los elementos que se están repartiendo. Ahora todo funciona hasta la presentación del formulario. Cuando se envía, el controlador recibe una lista nula de objetos. El siguiente código demuestra los problemas.

Vista de los padres:

@model IEnumerable<PlanCompareViewModel>
@using (Html.BeginForm("ComparePlans", "Plans", FormMethod.Post, new { id = "compareForm" }))
{
<div>
    @foreach (var planVM in Model)
    {
        @Html.Partial("_partialView", planVM)
    }
</div>
}

_vista parcial:

@model PlanCompareViewModel
<div>
    @Html.HiddenFor(p => p.PlanID)
    @Html.HiddenFor(p => p.CurrentPlan)
    @Html.CheckBoxFor(p => p.ShouldCompare)
   <input type="submit" value="Compare"/>
</div>

Y estas son las clases para el código anterior:

PlanViewModel:

public class PlansCompareViewModel
{

    public int PlanID { get; set; }
    public Plan CurrentPlan { get; set; }
    public bool ShouldCompare { get; set; }
    public PlansCompareViewModel(Plan plan)
    {
        ShouldCompare = false;
        PlanID = plan.PlanId;
        CurrentPlan = plan;
    }

    public PlansCompareViewModel()
    {
        // TODO: Complete member initialization
    }
    public static IEnumerable<PlansCompareViewModel> CreatePlansVM(IEnumerable<Plan> plans)
    {
        return plans.Select(p => new PlansCompareViewModel(p)).AsEnumerable();
    }
}

Controlador:

public class PlansController : MyBaseController
{
    [HttpPost]
    public ActionResult ComparePlans(IEnumerable<PlanCompareViewModel> model)
    {
         //the model passed into here is NULL
    }
}

Y el problema está en la acción del controlador. Que yo sepa, debería estar publicando una lista enumerable de modelos de PlanCompareView, sin embargo, es nulo. Cuando se inspecciona los datos de envío que se envían, se envían los parámetros correctos. Y si tuviera que cambiar 'IEnumerable' a 'FormCollection', contiene los valores correctos. ¿Alguien puede ver por qué la carpeta no está creando el objeto correcto? Puedo solucionar esto usando javascript, ¡pero eso no sirve para nada! Cualquier ayuda sería muy apreciada!

Respuestas a la pregunta(2)

Su respuesta a la pregunta