Asp.net mvc 2 Html.Hidden()插入错误的值

Asp.net mvc 2 Html.Hidden()插入错误的值,asp.net-mvc-2,html-helper,Asp.net Mvc 2,Html Helper,当我在一个视图(如)中使用表单html帮助器方法时,它会为我创建一个隐藏的输入字段,但它在其中放入了错误的值 而不是 我明白了 所以这个值是从其他地方找到的。在本例中,它是父记录的主id。所以它是一个id,它只是一个错误的id 有人有什么想法吗?我很确定这不会发生在MVC1中我可以考虑以下选项 您传递给视图的值是错误的,例如,传递给视图的数据(您可以在控制器中检查调试以查看您传递给它的内容) 您使用的ViewData和TempData数据具有不同的值,这些值被覆盖 否则,请将您的代码放在这里

当我在一个视图(如
)中使用表单html帮助器方法时,它会为我创建一个隐藏的输入字段,但它在其中放入了错误的值

而不是

我明白了

所以这个值是从其他地方找到的。在本例中,它是父记录的主id。所以它是一个id,它只是一个错误的id


有人有什么想法吗?我很确定这不会发生在MVC1中

我可以考虑以下选项

  • 您传递给视图的值是错误的,例如,传递给视图的数据(您可以在控制器中检查调试以查看您传递给它的内容)
  • 您使用的ViewData和TempData数据具有不同的值,这些值被覆盖

  • 否则,请将您的代码放在这里,以便我们都能看到错误所在。

    模型绑定始终优先。模型绑定器不知道字段是否隐藏。请参阅和

    您确定这是html中的实际值,还是在发布后返回控制器中的值?对后者有解释,但如果是前者,则没有意义。是的,这是后者的解释。控制器操作确实有一个id参数,该参数获取值11000。解释是什么?查看源。请确保隐藏字段的值正确。如果该字段的值正确,则另一个输入字段名为“id”这将覆盖此字段。您所需要做的就是消除字段之间的冲突。不,这不是因为我查看了错误的输入字段或通过js或其他方式访问了错误的标记。这是因为Html.Hidden()正在使用错误的值。Jero G,您可能会发现有帮助。这取决于您的视图是否正在渲染您在操作中预先编辑的模型。