HTML表单回发后,隐藏字段不会更新

时间:2012-02-22 20:41:27

标签: asp.net-mvc asp.net-mvc-3

@Html.HiddenFor(model => model.JobIndicator)

提交页面后,JobIndicator的值不会刷新。

当我在显示字段中显示时,我可以看到更新的值。

5 个答案:

答案 0 :(得分:31)

将它放在你的控制器中:

ModelState.Remove("JobIndicator");

然后您的隐藏字段将会更新。

答案 1 :(得分:19)

问题是Html帮助者从ModelState获取数据而不是从您通过 调用后期操作的模型 时获取数据。要解决此问题,您可以调用{在您返回视图之前的帖子操作中{1}},这样一旦您的视图重新生成,ModelState.Clear()中的信息将被清除并重新填充。

您可以在此blog

中找到有关此问题(以及其他解决方案)的更多信息

答案 2 :(得分:1)

亲自参与这个问题。解决方案(虽然不优雅)是使用基本的HTML语法并使用模型的值。



<input type="hidden" name="JobIndicator" value="@Model.JobIndicator">
&#13;
&#13;
&#13;

答案 3 :(得分:0)

代替...

@Html.HiddenFor(m => m.JobIndicator)

如果将变量包含在对象中,则它将按预期工作。

@Html.HiddenFor(m => m.SomeOject.JobIndicator)

这似乎只是那个顶级水平。

答案 4 :(得分:-1)

只需确保将此行放在表单标记

@Html.HiddenFor(model => model.JobIndicator)