我有一個asp.net網頁,菜單有3項。 3個點中的每一個指向一個子菜單,在從主菜單中選擇子菜單後該子菜單變爲可見。我將一個項目從默認子菜單(3中的第一個)移至不同的子菜單。儘管當頁面呈現時(和其代碼隱藏工作),菜單項出現在其新位置,但該選項會保留在默認子菜單上的舊位置。我們正在使用IIS 7.清除asp緩存?
重新啓動沒有幫助。糾正我,如果我錯了,但我認爲該頁面正在緩存,我需要清除此緩存。
我該如何去做這件事?這裏發生了什麼?
謝謝你的幫助和耐心。
我有一個asp.net網頁,菜單有3項。 3個點中的每一個指向一個子菜單,在從主菜單中選擇子菜單後該子菜單變爲可見。我將一個項目從默認子菜單(3中的第一個)移至不同的子菜單。儘管當頁面呈現時(和其代碼隱藏工作),菜單項出現在其新位置,但該選項會保留在默認子菜單上的舊位置。我們正在使用IIS 7.清除asp緩存?
重新啓動沒有幫助。糾正我,如果我錯了,但我認爲該頁面正在緩存,我需要清除此緩存。
我該如何去做這件事?這裏發生了什麼?
謝謝你的幫助和耐心。
嘗試下面的代碼:
For Each de As DictionaryEntry In HttpContext.Current.Cache
HttpContext.Current.Cache.Remove(DirectCast(de.Key, String))
Next
如果不工作,
IDictionaryEnumerator enumerator = HttpContext.Current.Cache.GetEnumerator();
while (enumerator.MoveNext())
{
HttpContext.Current.Cache.Remove(enumerator.Key);
}
需要注意的是,這種技術效率不高與的OutputCache類型的網頁。爲了清除這種類型的緩存內存,你應該使用下面的代碼行。
HttpRuntime.Close();
以這種方式爲所有用戶解決此問題可能是一項艱鉅的任務 –
@DanRayyy - 我們是一家IE商店。 – DeveloperM
會將頁面設置爲不能緩存的工作?說明:http://stackoverflow.com/questions/914027/disabling-browser-caching-for-all-browsers-from-asp-net – rogerdeuce
添加?v = 2或任何隨機查詢字符串參數作爲版本的頁面或您正在使用的.js。這可以讓緩存認爲它是另一個頁面。 – Pleun