0

我有时发现我需要按 CTRL+REFRESH BUTTON(或简称 REFRESH BUTTON)才能更新页面。我认为这可能是使用 AJAX 更新面板之类的问题,但它也发生在没有 AJAX 部分呈现的页面上。我还删除了 if(!isPostBack),但我仍然需要刷新页面才能更新内容。

跟缓存有关系吗?

有谁知道解决这个问题?我相信它只发生在 IE 7(我正在使用)上。我在 Chrome 上尝试了相同的功能,它按预期工作。

编辑:不幸的是,它并不像将缓存标头设置为 0 或在 IE 中总是在页面加载时检索最新页面那样简单。我已经完成了这些,并且发生了同样的问题。

例如,在我网站的某一部分,您可以更改个人资料图片。如果我选择删除个人资料图片(然后应该设置为默认图片),它只会删除图片(但不显示默认图片)。页面再次加载,但它仍然引用我删除的图片(所以我得到图片的 X)。我必须进入另一个页面,然后返回个人资料页面才能看到默认图片。CTRL + REFRESH 也可以。

请注意,此特定问题在所有浏览器(包括 Chrome)下都会发生。

如果有帮助,我正在使用母版页中的内容页面。

4

3 回答 3

1

更改浏览器缓存设置将在本地解决问题,但要解决一般情况,请将标题“Expires:0”添加到出站页面,这将完全阻止浏览器缓存它。

要在 C# 中执行此操作,请将此代码添加到页面加载事件:

Response.AddHeader("Expires", "0");
于 2010-04-01T23:12:58.330 回答
0

Ctrl+refresh 强制您的 IE 从服务器重新加载页面,而不是使用本地缓存的版本。首先,检查浏览器的设置:设置-通用-浏览历史。“检查存储页面的较新版本”应设置为“自动”。然后,检查您是否在页面中添加任何“过期”标题。

于 2010-04-01T23:05:31.433 回答
0

您还可以考虑在响应对象上设置缓存策略或每次将实体标签设置为不同的东西......

http://msdn.microsoft.com/en-us/library/system.web.httpcachepolicy.aspx

于 2010-04-01T23:12:23.527 回答