在 Page_Load 方法的母版页中,我有这一行:
Response.Cache.SetCacheability(HttpCacheability.NoCache);
基本上,我不想缓存页面。我确实想缓存 .js 和 .css 文件,但是当我重新加载页面时,这些文件不会从浏览器缓存中加载,而是重新加载。
我需要解决什么问题?
谢谢。
在 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?<%= ... %>">
您需要为静态资源(.js 和 .css)文件设置缓存。默认情况下不启用此功能。
有关更多详细信息,请参阅此 SO 答案:https ://stackoverflow.com/a/2196848/69868
另请注意,当您使用 F5/Ctrl+F5 重新加载页面时,某些浏览器将忽略缓存指令,它们将始终获取新内容(例如 Firefox 和 Ctrl+F5)。如果要测试缓存,请通过在位置文本框中重新输入 URL 来重新加载页面。