1

在 Page_Load 方法的母版页中,我有这一行:

Response.Cache.SetCacheability(HttpCacheability.NoCache);

基本上,我不想缓存页面。我确实想缓存 .js 和 .css 文件,但是当我重新加载页面时,这些文件不会从浏览器缓存中加载,而是重新加载。

我需要解决什么问题?

谢谢。

4

2 回答 2

3

在 html 元部分中添加这些行

<META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE">
<META HTTP-EQUIV="EXPIRES" CONTENT="0">
<META HTTP-EQUIV="PRAGMA" content="NO-CACHE">

在 ASP 页面中

// Stop Caching in IE
Response.Cache.SetCacheability(System.Web.HttpCacheability.NoCache);

// Stop Caching in Firefox
Response.Cache.SetNoStore();

本文可用于解决您的问题

http://www.codeproject.com/Articles/11225/Disabling-browser-s-back-functionality-on-sign-out

PS如果它没有帮助。您可以像这样使用作弊: <%= 在这里您应该添加一些随机数,例如 Ticks %> - 为不应缓存的元素添加它。例如:

<link rel=stylesheet href="main.css?<%= ... %>">
于 2012-05-12T16:01:17.657 回答
2

您需要为静态资源(.js 和 .css)文件设置缓存。默认情况下不启用此功能。

有关更多详细信息,请参阅此 SO 答案:https ://stackoverflow.com/a/2196848/69868

另请注意,当您使用 F5/Ctrl+F5 重新加载页面时,某些浏览器将忽略缓存指令,它们将始终获取新内容(例如 Firefox 和 Ctrl+F5)。如果要测试缓存,请通过在位置文本框中重新输入 URL 来重新加载页面。

于 2012-05-12T15:43:05.987 回答