在Page_Load方法的母版页中,我有这一行:
Response.Cache.SetCacheability(HttpCacheability.NoCache);
基本上,我不想缓存页面。我确实要缓存.js和.css文件,但是当我重新加载页面时,这些文件不会从浏览器缓存中加载,而是重新加载。
我需要修理什么?
感谢。
答案 0 :(得分: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
P.S。如果它没有帮助。你可以像这样使用作弊:&lt;%=在这里你应该添加一些随机数,例如Ticks%&gt; - 为不应缓存的元素添加它。 例如:
<link rel=stylesheet href="main.css?<%= ... %>">
答案 1 :(得分:2)
您需要为静态资源(.js和.css)文件设置缓存。默认情况下不启用此功能。
有关详细信息,请参阅此SO答案:https://stackoverflow.com/a/2196848/69868
另请注意,当您使用F5 / Ctrl + F5重新加载页面时,某些浏览器将忽略缓存说明,并且它们将始终获取新内容(例如Firefox和Ctrl + F5)。如果要测试缓存,请通过在位置文本框中重新输入URL来重新加载页面。