如何在列表中将IEnumerable发布到控制器

时间:2013-09-26 15:00:31

标签: asp.net-mvc-3 razor

我有一个带有以下型号的MVC3应用程序

public class Class1 
{
    public List<Class2> Class2Data { get; set; }
}

public class Class2
{
   public int Id { get; set; }
   public IEnumerable<Class3> Class3Data { get; set; }

}

public class Class3
{
    public int Id { get set; }
    public bool Selected { get; set; }
}

在我的剃刀模型中

for (var i = 0; i < Model.Class2Data.Count();i++)
{
   @Html.HiddenFor(c => c.Class2Data[i].Id)

    foreach (var n in Model.Class2Data[i].Class3Data.ToList())
    {
          @Html.CheckBoxFor(x=> n.Selected);
          @Html.HiddenFor(x=> n.Id);
    }
}

但是,当iam将其发布到我的控制器时,当勾选复选框时,Class3Data计数始终为0。有任何想法吗?感谢

1 个答案:

答案 0 :(得分:0)

通过将IEnumerable更改为List而解决,因为没有正确绑定