在组合框中恢复所选值

时间:2014-01-28 10:42:01

标签: c# javascript asp.net-mvc

我在表单上有一些组合框,如下所示:

@Html.DropDownListFor(x => x.ComboId, Model.ComboValues)

另外,我有一个简单的动作方法,它在同一个视图中返回收到的模型。当更改所选项目并提交表单时,我将在组合框中获得具有正确选定值的相同页面。但是,当我点击浏览器中的“后退”按钮(在Chrome 25 +,IE 9+中查看)时,我将获得最后选择的值。

例如,让ComboValues包含2个值:12。以前,ComboId = 1。当我将其更改为2并提交时,我将使用正确值2的表单。但是当我点击浏览器中的“返回”按钮时,我仍然会使用值为2的组合框(但我希望看到1)。

1 个答案:

答案 0 :(得分:0)

出现这种情况,因为我在浏览器中“返回”时不调用操作。而我的页面并没有让人感到惊讶。我们可以通过在页面加载时重新计算组合框选择的项目来修复此行为:

$(function () {
    $("#@Html.IdFor(m => m.ComboId)").val("@Model.ComboId");
}