今天从我的老板那里得到了一个非常有趣的。我们有一个使用Microsoft.Reporting.WebForms.ReportViewer组件的asp网站,一切都非常可爱。但是,如果浏览器(目前使用IE9进行测试)设置为始终使用缓存页面(工具 - > Internet选项 - >常规选项卡 - >浏览历史 - >设置 - >检查更新版本的存储页面 - >从不)对于一些被遗弃的原因,浏览器总是使用缓存的报告。微软,你可以用他们做什么。报告服务|停止缓存
需要说明的是,报告中有一些参数由用户输入,它在第一次正确运行。如果用户随后更改参数并再次单击查看报告,则屏幕会闪烁并显示所有内容,就好像它正在生成新报告一样,但会显示相同的报告(即,原始参数将再次用于生成报告而不是新的那些)。参数输入的文本框(rdl的一部分)保存正确的值,它只是报告本身不更新它们。
我尝试添加下面的JavaScript,其承载的ReportViewer控件的页:
<%
Response.Cache.SetNoStore();
Response.Expires = 0;
Response.CacheControl = "no-cache";
%>
和下面的C#托管页面的Page_Load中功能:
this.Response.Cache.SetNoStore();
this.Response.Expires = 0;
this.Response.ExpiresAbsolute = DateTime.Now.AddDays(-1);
this.Response.AddHeader("pragma", "no-cache");
this.Response.AddHeader("cache-control", "private");
this.Response.CacheControl = "no-cache";
没有成功。有谁知道如何强制浏览器更新,尽管浏览器的历史设置?
真正的问题是谁在正确的思想使用'检查存储页面的更新版本 - >从不' – Earlz 2011-06-13 16:59:05