如何讓網頁內容永遠維持最新的狀態,即使從下一頁跳回來?

即使您的網站並未使用 Cache,但客戶端的瀏覽器在預設情況下仍有 local 端的緩衝區存在。所以,如果您要取消這一層的 Cache,使得客戶端載入的網頁永遠是當時最新的,該怎麼做呢...

即使您的網站並未使用 Cache,但客戶端的瀏覽器在預設情況下仍有 local 端的緩衝區存在。所以,如果您要取消這一層的 Cache,使得客戶端載入的網頁永遠是當時最新的,該怎麼做呢?

其實很簡單,在這個網頁的 Page_Load 程序中加入以下兩行就可以了 --

Response.Cache.SetCacheability(HttpCacheability.NoCache)
Response.Cache.SetAllowResponseInBrowserHistory(false)

範例程式如下 -

VB:

Protected Sub Page_Load(...) Handles MyBase.Load
        'Response.Cache.SetCacheability(HttpCacheability.NoCache)
        'Response.Cache.SetAllowResponseInBrowserHistory(False)
        Response.Write(Now)
End Sub

C#:

protected void Page_Load(...)
{
        //Response.Cache.SetCacheability(HttpCacheability.NoCache);
        //Response.Cache.SetAllowResponseInBrowserHistory(false);
        Response.Write(DateTime.Now);
}

比較一下將上述程式中的註解拿掉與不拿掉,再在網頁中載入另一個網頁,然後按「上一頁」回來看看顯示的時間,就能看出差異了。


Dev 2Share @ 點部落