ASP.NET MVC 表单提交多层子级实体集合数据到控制器中 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>

猜你喜欢

转载自www.cnblogs.com/cxxtreasure/p/13401577.html
今日推荐