【发布时间】:2012-04-04 05:27:09
【问题描述】:
我在使用简单的 ASP.NET 应用程序和回发后的返回按钮时遇到问题。
有问题的页面上有一个简单的表单、一些文本字段等,以及一个执行回发(自动回发)的下拉菜单。
“正常”流程是用户填写表单并可能更改下拉列表。根据下拉值,页面内容可能会发生变化。
我遇到的问题是,在用户更改了下拉列表并且回发完成后,用户单击了后退按钮。他们看到来自 IE 的“网页已过期”消息。
我设置了以下内容:
Response.Cache.SetExpires(DateTime.Now.AddMinutes(-1));
Response.Cache.SetCacheability(HttpCacheability.Private);
但这似乎并没有解决问题。
实际的 Cache-Control 响应头读取为:private, no-cache:"Set-Cookie"
在经典的 ASP 应用程序中,带有只是“私有”的 Cache-Control 响应标头的后退按钮在“回发”之后的行为与预期一样。
是否有强制 ASP.NET 将缓存控制显式设置为完全“私有”?或者任何其他可以使后退按钮和回发一起工作的解决方案?
谢谢!
【问题讨论】:
标签: asp.net back-button cache-control