我假设发送一个有效期的页面(la)......
Response.Cache.SetExpires(System.DateTime.Now.AddSeconds(5));
Response.Cache.SetCacheability(HttpCacheability.Public);
Response.Cache.SetValidUntilExpires(true);
...意味着如果用户点击后退按钮,他们会看到“Page Expired”消息。它似乎没有那样工作。我发现使用后退按钮只会显示旧(IMO已过期)页面。实际上,在尝试缓存/非缓存和到期时间的不同组合时,我从不设法从浏览器中获取“Page Expired”消息。
什么条件会激发这条消息?
服务器环境ASP .Net。我只在IE8中测试过 - 我假设其他浏览器在这里是一致的。
答案 0 :(得分:1)
您可以尝试设置这些额外的响应标头:
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
但是,我认为没有任何可靠的方法可以强制所有浏览器不从历史记录重新加载页面。
答案 1 :(得分:0)
我认为您所追求的是在尝试重新加载/刷新(或返回)您已发布数据的页面时显示的消息(与POST请求相对于GET),因此,自POST -data可能是“旧的”信息,你接受了警告。