Asp.net禁用页面缓存的方法总结

时间:2022-01-09 21:12:12

1、在Asp页面首部<head>加入  

复制代码代码如下:

  Response.Buffer   =   True    
  Response.ExpiresAbsolute   =   Now()   -   1    
  Response.Expires   =   0    
  Response.CacheControl   =   "no-cache"    
  Response.AddHeader   "Pragma",   "No-Cache" 


2、在HtML代码中加入  

复制代码代码如下:

  <HEAD>    
  <META   HTTP-EQUIV="Pragma"   CONTENT="no-cache">    
  <META   HTTP-EQUIV="Cache-Control"   CONTENT="no-cache">    
  <META   HTTP-EQUIV="Expires"   CONTENT="0">    
  </HEAD>  


3、在重新调用原页面的时候在给页面传一个参数   Href="****.asp?random()"   
前两个方法据说有时会失效,而第三种则是在跳转时传一个随机的参数! 因为aspx的缓存是与参数相关的,如果参数不同就不会使用缓存,而会重新生成页面,每次都传一个随机的参数就可以避免使用缓存。这个仅适用于asp&asp.net

 

   
4、window.location.replace("WebForm1.aspx");   
参数就是你要覆盖的页面,replace的原理就是用当前页面替换掉replace参数指定的页面。   
这样可以防止用户点击back键。使用的是javascript脚本,举例如下:

a.html

复制代码代码如下:

<html> 
    <head> 
        <title>a</title>      
        <script language="javascript"> 
            function jump(){ 
                window.location.replace("b.html"); 
            } 
        </script> 
    </head> 
    <body> 
       <a href="javascript:jump()">b</a> 
   </body> 
</html> 


前3种只是清空了cache,即存储在Temporary Internet Files文件夹中的临时文件,而第4种则是使用跳转页面文件替换当前页面文件,并没有清空cache,也就是说Temporary Internet Files产生了相关的临时文件。