我在表单上有一些组合框,如下所示:
@Html.DropDownListFor(x => x.ComboId, Model.ComboValues)
另外,我有一个简单的动作方法,它在同一个视图中返回收到的模型。当更改所选项目并提交表单时,我将在组合框中获得具有正确选定值的相同页面。但是,当我点击浏览器中的“后退”按钮(在Chrome 25 +,IE 9+中查看)时,我将获得最后选择的值。
例如,让ComboValues
包含2个值:1
和2
。以前,ComboId = 1
。当我将其更改为2
并提交时,我将使用正确值2
的表单。但是当我点击浏览器中的“返回”按钮时,我仍然会使用值为2
的组合框(但我希望看到1
)。
答案 0 :(得分:0)
出现这种情况,因为我在浏览器中“返回”时不调用操作。而我的页面并没有让人感到惊讶。我们可以通过在页面加载时重新计算组合框选择的项目来修复此行为:
$(function () {
$("#@Html.IdFor(m => m.ComboId)").val("@Model.ComboId");
}