我有一個顯示項目列表的視圖,當您點擊其中一個項目時,它會將您帶到項目頁面。我還在該數據庫的數據庫中存儲了「已查看」標誌。如何防止緩存ASP.NET MVC中的一些視圖?
現在,當用戶點擊回來時,由於「已閱讀」標誌的更改,該項目的樣式應該不同。但是,每次我點擊後,就像在點擊該項目之前一樣,我必須單擊刷新才能看到頁面的實際狀態。
如何防止此頁面被緩存,因此當用戶點擊回來時,他們將看到本網站的最新版本,並附有新的樣式?在你的控制器動作
我有一個顯示項目列表的視圖,當您點擊其中一個項目時,它會將您帶到項目頁面。我還在該數據庫的數據庫中存儲了「已查看」標誌。如何防止緩存ASP.NET MVC中的一些視圖?
現在,當用戶點擊回來時,由於「已閱讀」標誌的更改,該項目的樣式應該不同。但是,每次我點擊後,就像在點擊該項目之前一樣,我必須單擊刷新才能看到頁面的實際狀態。
如何防止此頁面被緩存,因此當用戶點擊回來時,他們將看到本網站的最新版本,並附有新的樣式?在你的控制器動作
調用此:
Response.Cache.SetCacheability(HttpCacheability.NoCache)
這將防止瀏覽器緩存的頁面。
將控制器操作標記爲使用OutputCacheAttribute生成列表,並將緩存位置設置爲none,以防止將該頁面緩存在客戶端上。這應該會導致客戶端再次請求該頁面。但是,如果用戶正在使用後退按鈕,我認爲該頁面由瀏覽器提供,無需重新加載,無論緩存如何。至少在FF中,我沒有看到它使用Firebug再次請求頁面。
[OutputCache(Location = OutputCacheLocation.None)]
如果它沒有被瀏覽器緩存,它如何在不重新加載的情況下再次提供它? –
我原本以爲它會重新加載,但這不是我在FF中看到的。 – tvanfosson