我似乎无法绑定此特定视图中的任何List。我的代码是
查看:
@for (int ctr2 = 0; ctr2 < Model.AnimalsVM.Count(); )
{
<tr>
@for (int ctr = 0; ctr < 5 && ctr2 < Model.AnimalsVM.Count(); ctr++, ctr2++)
{
<td class="width50px">@Model.AnimalsVM[ctr2].Name </td>
<td class="width50px">@Html.TextBoxFor(m => m.AnimalsVM[ctr2].Code)%
@Html.HiddenFor(m => m.AnimalsVM[ctr2].AnimalID)
@Html.HiddenFor(m => m.AnimalsVM[ctr2].Name)
</td>
}
</tr>
}
我的视图模型构造如下:
public class ConfigureVM
{
public string Name { get; set; }
public List<AnimalVM> AnimalsVM = new List<AnimalVM>();
}
public class AnimalVM
{
public int? AnimalID { get; set; }
public string Name { get; set; }
public string Code { get; set; }
public DateTime? LastUpdated { get; set; }
}
AnimalVM确实在帖子上绑定了。任何人都可以解释为什么AnimalVM在发布期间没有绑定。
答案 0 :(得分:1)
您需要AnimalsVM
public List<AnimalVM> AnimalsVM { get; set; }
然后在无参数构造函数(或控制器
)中初始化集合public class ConfigureVM
{
public ConfigureVM()
{
AnimalsVM = new List<AnimalVM>();
}
public List<AnimalVM> AnimalsVM { get; set; }
....
}
附注:不确定嵌套for
循环的目的是什么,但根据AnimalsVM
中的项目数量,只有前5个会在发布时绑定。