【问题标题】:Browser back button displaying old values in text field ASP.NET MVC浏览器后退按钮在文本字段 ASP.NET MVC 中显示旧值
【发布时间】:2018-08-04 09:58:58
【问题描述】:

我正在通过 jQuery 在我的视图中通过单击按钮更新一个文本框。然后我提交表单并从发布操作方法重定向到新页面。现在,当我执行浏览器后退按钮时,将调用 get 操作方法,并使用适当的值初始化模型。但是当视图被渲染时,由 jQuery 更新的文本框会显示旧值,而不是来自模型的值。当我检查元素时,“值”属性具有来自模型的正确值,但在 UI 中,该元素具有旧值。然后在帖子上我得到了不正确的旧值。

以下是我的 get 操作方法的代码

[HttpGet]
    [OutputCache(Duration = 0, NoStore = true, VaryByParam = "None")]
    public ActionResult SelectSeats()
    {            
        EmployeeModel empModel = new EmployeeModel();
        empModel.Name = "keyur";
        empModel.Age = 30;
        empModel.Address = new AddressModel();
        empModel.Address.City = "Mumbai";
        empModel.Address.PinCode = 400064;
        empModel.Address.CountryCode = "AUD";

        return View(empModel);
    }

这只发生在 Chrome 浏览器中,并且在 Edge 和 IE 浏览器中运行良好。

【问题讨论】:

标签: jquery asp.net asp.net-mvc caching


【解决方案1】:

经过更多的尝试和错误,我写了

autocomplete="off"

现在它适用于 Chrome 浏览器。然后我从我的方法中删除了“OutputCache”属性,但它在 IE 浏览器上停止工作(Edge、Chrome 和 Firefox 仍在工作)。
这表明在我的情况下,我需要这两种解决方案才能使其在所有浏览器上运行。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-09-20
    • 2013-06-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-02
    • 1970-01-01
    相关资源
    最近更新 更多