无法绑定复杂类型的数据列表

时间:2016-06-30 13:55:21

标签: asp.net-mvc model-binding complex-data-types

我正在开发一个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始终为空。那么为什么我的代码不起作用?请问我该如何解决?

0 个答案:

没有答案