Asp.net禁用頁(yè)面緩存的方法總結(jié)

字號(hào):


    這篇文章主要介紹了Asp.net禁用頁(yè)面緩存的方法,需要的朋友可以參考下
    1、在Asp頁(yè)面首部<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、在重新調(diào)用原頁(yè)面的時(shí)候在給頁(yè)面?zhèn)饕粋€(gè)參數(shù) Href="****.asp?random()"
    前兩個(gè)方法據(jù)說(shuō)有時(shí)會(huì)失效,而第三種則是在跳轉(zhuǎn)時(shí)傳一個(gè)隨機(jī)的參數(shù)! 因?yàn)閍spx的緩存是與參數(shù)相關(guān)的,如果參數(shù)不同就不會(huì)使用緩存,而會(huì)重新生成頁(yè)面,每次都傳一個(gè)隨機(jī)的參數(shù)就可以避免使用緩存。這個(gè)僅適用于asp&asp.net
    4、window.location.replace("WebForm1.aspx");
    參數(shù)就是你要覆蓋的頁(yè)面,replace的原理就是用當(dāng)前頁(yè)面替換掉replace參數(shù)指定的頁(yè)面。
    這樣可以防止用戶點(diǎn)擊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,即存儲(chǔ)在Temporary Internet Files文件夾中的臨時(shí)文件,而第4種則是使用跳轉(zhuǎn)頁(yè)面文件替換當(dāng)前頁(yè)面文件,并沒(méi)有清空cache,也就是說(shuō)Temporary Internet Files產(chǎn)生了相關(guān)的臨時(shí)文件。