我有一个asp.net mvc3站点,在单击后退按钮时显示一些奇怪的行为。我有一个文本输入的表单,该值设置为一个属性上我的模型,像这样:使用浏览器后退按钮后显示错误值的文本输入
@using (Html.BeginForm("Search", "Home", FormMethod.Get, new { name = "searchForm" }))
{
<div>
<input id="term" type="text" name="Term" value='@Model.Term' />
<input type="submit" value="Search" />
</div>
}
一切的伟大工程,在浏览器中使用后退按钮时除外。如果我输入“ABC”,然后提交我的表单,输入“XYZ”并再次提交,然后返回我仍然在文本字段中看到“XYZ”,但是当我使用浏览器开发人员工具检查HTML时,它显示正确的值的“ABC”(正确的值也在查询字符串中)。
我在页面上还放置了另一个地方,我放弃了@ Model.Term的相同值,但是在那个地方它正确地显示为“ABC”。
任何想法?我觉得它必须是我做的一些愚蠢的事情,但我无法弄清楚它:)
表单使用Get而不是Post来提交,这仍然适用吗? –
这个想法基本上是一样的,是的。重新定向,然后离开你。 – mjwills
您使用GET表单而不是POST表单的任何特定原因? – mjwills