C# Html.editor用于丢失数据
我目前正在从事一个大型项目,该项目有一个包含时间表列表的时间表类。有一个类似以下内容的编辑页面:C# Html.editor用于丢失数据,c#,asp.net-mvc-3,C#,Asp.net Mvc 3,我目前正在从事一个大型项目,该项目有一个包含时间表列表的时间表类。有一个类似以下内容的编辑页面: <!-- Other timesheet properties --> @Html.EditorFor(model => model.TimesheetEntries) 这很好用,每个时间表条目都有一行。当我将时间表POST保存到服务器时,自定义模型绑定器会在将时间表传递给控制器之前去掉空行,换句话说,时间表包含的行数可以少于POST数据 如果出现验证错误,我会重新显示编辑页面,
<!-- Other timesheet properties -->
@Html.EditorFor(model => model.TimesheetEntries)
这很好用,每个时间表条目都有一行。当我将时间表POST保存到服务器时,自定义模型绑定器会在将时间表传递给控制器之前去掉空行,换句话说,时间表包含的行数可以少于POST数据
如果出现验证错误,我会重新显示编辑页面,这就是问题所在
如果model.TimesheetEntries包含n条记录,则Html.EditorFor将从POST数据(包括空行)中复制前n行,而不是为我传递的数据创建Html!这意味着我在表的底部丢失了很多行,这显然是不需要的
有人能解释为什么会发生这种情况,或者更好地告诉我如何让EditorFor按我的预期工作吗
下面是一幅描述该过程的图片:
您可能想看看这篇文章中提供的答案,它可能会有所帮助。在使用传递的值之前,在ModelState中显示Html.EditorFor looks。。。所以为了让它拾取我传递的值,我需要首先清除ModelState中的相关值,呃
问题/答案更详细。谢谢Anselmo,但该链接似乎没有回答我的问题。