我目前正在研究一个包含TimesheetEntries列表的Timesheet类的大型项目。有一个编辑页面,如下所示:Html.EditorFor丢失数据
<!-- Other timesheet properties -->
@Html.EditorFor(model => model.TimesheetEntries)
这很好,我为每个时间表条目获得一行。当我保存时间表(POST到服务器)时,自定义模型绑定器会在将Timesheet传递到控制器之前剥去空行,换句话说,Timesheet可以包含比POST数据少的行。
如果出现验证错误,我重新显示编辑页面,这就是问题出现的地方。
如果model.TimesheetEntries
包含n
记录Html.EditorFor()
再现从POST数据第一n
行(包括空行),而不是因为我通过它的数据创建HTML!这意味着我在表格底部丢失了很多行,这显然是不需要的。
任何人都可以解释为什么会发生这种情况,甚至更好告诉我如何让EditorFor按照我的预期工作?
这是一张描述这一过程:
感谢安塞尔莫,链接似乎并没有回答我的问题。 – Joey