随机Page_Load调用ASP.NET中的后退按钮

时间:2008-10-14 20:44:30

标签: asp.net ajax asp.net-ajax

我希望有人之前见过这个,因为我不能为我的生活找到问题。

我正在尝试在应用程序中执行旧的“修复后退按钮”的事情,我认为我有一个相当不错的方法,问题是它依赖于应用程序在您回击而不是调用page_load而不是页面的缓存版本。

在大约60%的网页上,这正是发生的事情。它加载缓存版本,一切都很好。另外40%当我点击后退按钮page_load调用时,强制刷新。作为参考,对page_load的调用不在回发中。

更奇怪的是,这只发生在IE(6& 7)中。在firefox中,page_load永远不会被调用。

我在两种类型的页面上使用ASP.NET Ajax框架。以前有人见过这样的事吗?

- 更新 -

经过多方研究后,我发现当我使用搜索从一个页面导航到另一个页面时,应用程序对于不同页面的行为会有所不同。在破碎的页面上,page_load被调用两次,搜索被调用两次,在fiddler中变成2个不同的重定向回发,其中第二个没有缓存集。

在工作页面page_load上,搜索只发生一次,并立即重定向。

第二个Response.Redirect导致问题。仍然不确定为什么会发生这种情况。

2 个答案:

答案 0 :(得分:1)

检查服务器为缓存控制http标头返回的内容,然后尝试设置Response.Cache.SetCacheability()/在页面上使用输出缓存页面指令并查看服务器是否说该页面应该被缓存

答案 1 :(得分:0)

如果您使用的是ASP.NET AJAX,为什么不使用History服务器控件对象?

替换历史记录,后退按钮将转到您想要的链接。

try this