浏览器后退按钮在文本字段ASP.NET MVC中显示旧值

时间:2018-02-24 13:06:42

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

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

enter image description here

以下是我的获取操作方法的代码

[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浏览器中运行良好。

1 个答案:

答案 0 :(得分:0)

经过一些试验和错误我写了

autocomplete="off"

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