我有一个网络应用程序,用户可以在其中填写或修改表单并保存它,然后在需要时返回它进行修改。保存表单后,所有值都存储在数据库中,当用户再次访问表单时,会使用这些值填充表单。
似乎每次用户在保存后返回表单时,表单都会在保存之前显示其旧状态,直到用户刷新页面。这种情况每次都会发生,除非用户将 Internet Explorer 设置为Check for newer version of stored page设置为每次访问网页时。
该问题仅发生在 Internet Explorer 中,任何其他浏览器都没有问题。我尝试设置 HTTP 标头以防止缓存失败。
我尝试将元标记添加<meta http-equiv="Pragma" content="no-cache"> <meta http-equiv="Expires" content="-1">
到页面标题,并且我也尝试过:
Response.Expires = -1;
Response.AddHeader("Pragma", "no-cache");
Response.CacheControl = "No-cache";
Response.Cache.SetCacheability(HttpCacheability.NoCache);
在控制器中。
以下是响应标头:
HTTP/1.1 200 OK
服务器:ASP.NET Development Server/10.0.0.0
日期:星期一,2013 年 8 月 26 日 20:10:33 GMT
X-AspNet-Version:
4.0.30319 X-AspNetMvc-Version: 3.0
Pragma: no-cache
Cache-Control: no-cache, no-store
Pragma: no-cache
Expires: -1
Content-Type: text/html; charset=utf-8
内容长度:66131
连接:关闭
有没有一种方法可以强制 IE 在每次用户登陆该页面时检查存储页面的新版本?如果没有,在 MVC3 中是否有解决此问题的方法?
提前致谢!