Форма MVC не может опубликовать список объектов

поэтому у меня есть приложение MVC Asp.net, которое имеет проблемы. По сути, у меня есть представление, которое содержит форму, а ее содержимое связано со списком объектов. В этом цикле он загружает PartialView 'с элементами, которые зациклены на. Теперь все работает до подачи формы. Когда он передается, контроллеру отправляется пустой список объектов. Код ниже демонстрирует проблемы.

Родительский вид:

@model IEnumerable
@using (Html.BeginForm("ComparePlans", "Plans", FormMethod.Post, new { id = "compareForm" }))
{

    @foreach (var planVM in Model)
    {
        @Html.Partial("_partialView", planVM)
    }

}

_partialView:

@model PlanCompareViewModel

    @Html.HiddenFor(p => p.PlanID)
    @Html.HiddenFor(p => p.CurrentPlan)
    @Html.CheckBoxFor(p => p.ShouldCompare)
   

И это классы для приведенного выше кода:

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 CreatePlansVM(IEnumerable plans)
    {
        return plans.Select(p => new PlansCompareViewModel(p)).AsEnumerable();
    }
}

контроллер:

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

И проблема в действии контроллера. Насколько я знаю, он должен публиковать перечисляемый список PlanCompareViewModels, но он является нулевым. При проверке отправляемых почтовых данных он отправляет правильные параметры. И если бы я изменилсяIEnumerable» кFormCollection», он содержит правильные значения. Кто-нибудь может понять, почему связыватель не создает правильный объект? Я могу обойти это с помощью JavaScript, но это побеждает цель! Любая помощь будет принята с благодарностью!

Ответы на вопрос(2)

Ваш ответ на вопрос