我正在开发一个ASP.NET MVC应用程序。我正在处理我的应用程序中的复杂数据。现在我尝试绑定具有复杂数据类型集合属性的ViewModel。我点了这个链接http://haacked.com/archive/2008/10/23/model-binding-to-a-list.aspx/。但我的代码不起作用。请参阅下面的方案。
查看模型:
public class EditItemSelectsVM
{
public int ItemId { get; set; }
public string ImagePath { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public decimal Price { get; set; }
public IEnumerable<Select> Selects { get; set; }
public IEnumerable<Belonging> Belongings { get; set; }
}
public class Select
{
public string Name { get; set; }
public string MmName { get; set; }
public string Description { get; set; }
public string MmDescription { get; set; }
public int RowId { get; set; }
}
public class Belonging
{
public string BelongingName { get; set; }
public string BelongingMmName { get; set; }
public int BelongTo { get; set; }
}
EditItemSelectsVM
类是视图模型
为了测试绑定工作,我创建了一个测试表单并提交了表单。
HTML :
<form>
<input type="hidden" value="1" name="[0].RowId" />
<div class="row">
<div class="col-md-5">
<label>Name</label>
</div>
<div class="col-md-7">
<input type="text" class="form-control" name="[0].Name" />
</div>
</div>
<div class="row">
<div class="col-md-5">
<label>MM Name</label>
</div>
<div class="col-md-7">
<input type="text" class="form-control" name="[0].MmName" />
</div>
</div>
<div class="row">
<div class="col-md-5">
<label>Description</label>
</div>
<div class="col-md-7">
<input type="text" class="form-control" name="[0].Description" />
</div>
</div>
<div class="row">
<div class="col-md-5">
<label>MM Description</label>
</div>
<div class="col-md-7">
<input type="text" class="form-control" name="[0].MmDescription" />
</div>
</div>
</form>
以上html是在视图模型中绑定IEnumerable<Select> Selects
。但是当我提交表单时,IEnumerable<Select> Selects
始终为空。那么为什么我的代码不起作用?请问我该如何解决?