在这里使用 MVC3 和 razor 遇到了一个非常奇怪的问题。
我正在整理的应用程序显示了一系列面试问题。我有一个问题的视图(问题的内容来自视图模型)。因此,在我从一个问题发回后,我可能会返回相同的问题视图(但使用不同的视图模型实例)。
在视图模型中,我有一个长属性,如下所示:
public long QuestionID { get; set; }
我试图使用隐藏的输入字段将值存储在视图中:
@Html.HiddenFor(m => m.QuestionID)
我的问题是,当我从一个问题到另一个问题时,隐藏字段在最终生成的 html 中没有改变。在所有其他问题中,它仍然是第一个 questionID 的值。所有其他内容都在正常变化,我还有其他几个可以正常工作的隐藏字段。我已经在生成模型的控制器中验证了正确的值。我可以在 razor 文件中设置断点,我可以看到模型应该是正确的 QuestionID。我也尝试使用@Html.TextBoxFor,但我遇到了同样的问题。当我手动制作如下所示的隐藏字段时,它工作正常,这才是真正困扰我的地方。
<input type="hidden" id="QuestionID" name="QuestionID" value="@Model.QuestionID" />
知道为什么会这样吗?