Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Html.editor用于丢失数据_C#_Asp.net Mvc 3 - Fatal编程技术网

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,但该链接似乎没有回答我的问题。