IE显示我之前缓存的页面版本

时间:2011-08-11 02:29:48

标签: c# asp.net internet-explorer caching

我的情景是这样的;用户选择他们希望打印的报告列表,一旦他们选择并单击按钮,我打开另一个页面,其中所选报告已准备好进行打印。我正在使用会话变量将报告从一个页面传递到另一个页面。

第一次尝试时,它运行正常,第二次尝试时,它会打开包含先前所选报告的报告窗口。我必须刷新页面以确保它加载最新的选择。

有没有办法在每次使用时从会话中获取最新值?或者有更好的方法来解决这个问题。愿意接受建议......

由于

C#Asp.net,IE& 7 / IE 8

3 个答案:

答案 0 :(得分:1)

做了一些检查后,如果你看看COMET可能有帮助。 我们的想法是,您可以在第二页中使用代码,每隔几秒钟就会检查服务器是否有更新的值,如果找到更新的值,它将自行刷新。

有两个很好的链接解释了这个问题。

第一个链接解释了COMET是什么以及它与ASP.NET的关系,第二个链接有一个使用聊天室的例子。但是,我确信查询更新的代码非常通用,可以应用于您的场景。

我从未实现过COMET,所以我不确定它有多复杂,或者是否很容易实现到您的解决方案中。

也许开发SO应用程序的人能够为您解决此问题。 SO会对页面上的通知使用一些实时功能,即:您正在编写答案,并在客户端弹出一条消息,让您知道其他人已添加答案并单击“此处”进行刷新

答案 1 :(得分:0)

最好使用网址参数。您是否了解参数的价值。

答案 2 :(得分:0)

正确的解决方法是正确设置HTTP响应的缓存指令,以便在未经服务器验证的情况下不会重用缓存的响应。

当您未能指定缓存生命周期时,客户端必须“猜测”响应有多长时间,并且浏览器的猜测可能不是您想要的。见http://blogs.msdn.com/b/ie/archive/2010/07/14/caching-improvements-in-internet-explorer-9.aspx