ASP.NET MVC 表单提交多层子级实体集合数据到控制器中

ASP.NET MVC 表单提交多层子级实体集合数据到控制器中

 

导航属性 类型设置为ICollection 时

 public virtual ICollection<DepartmentDetail> DepartmentDetails { get; set; }

  @for (var i = 0; i < Model.DepartmentDetails.Count(); i++)
                    {
 
                <div class="form-group">
                    @Html.HiddenFor(model => model.DepartmentDetails.ToList()[i].Id)
                    @Html.HiddenFor(model => model.DepartmentDetails.ToList()[i].DepartmentId)
                    @Html.LabelFor(model => model.DepartmentDetails.ToList()[i].Population, htmlAttributes: new { @class = "control-label col-xs-2" })
                    <div class="col-xs-4">
                        @Html.EditorExtFor(model => model.DepartmentDetails.ToList()[i].Population, new { htmlAttributes = new { @class = "form-control" } })
                    </div>
                    @Html.LabelFor(model => model.DepartmentDetails.ToList()[i].BuildingsCount, htmlAttributes: new { @class = "control-label col-xs-2" })
                    <div class="col-xs-4">
                        @Html.EditorExtFor(model => model.DepartmentDetails.ToList()[i].BuildingsCount, new { htmlAttributes = new { @class = "form-control" } })
                    </div>
                </div>
}

后台将取不到

导航属性类型应设为IList

 <div class="form-group">
                            @Html.HiddenFor(model => model.DepartmentDetails[i].Id)
                            @Html.HiddenFor(model => model.DepartmentDetails[i].DepartmentId)
                            @Html.LabelFor(model => model.DepartmentDetails[i].Population, htmlAttributes: new { @class = "control-label col-xs-2" })
                            <div class="col-xs-4">
                                @Html.EditorFor(model => model.DepartmentDetails[i].Population, new { htmlAttributes = new { @class = "form-control" } })
                            </div>
                            @Html.LabelFor(model => model.DepartmentDetails[i].BuildingsCount, htmlAttributes: new { @class = "control-label col-xs-2" })
                            <div class="col-xs-4">
                                @Html.EditorFor(model => model.DepartmentDetails[i].BuildingsCount, new { htmlAttributes = new { @class = "form-control" } })
                            </div>
                        </div>

 

posted @ 2020-07-30 00:58  竹林听雨行  阅读(153)  评论(0编辑  收藏  举报