2015-01-12 187 views
0

我有一個asp.net網頁,菜單有3項。 3個點中的每一個指向一個子菜單,在從主菜單中選擇子菜單後該子菜單變爲可見。我將一個項目從默認子菜單(3中的第一個)移至不同的子菜單。儘管當頁面呈現時(和其代碼隱藏工作),菜單項出現在其新位置,但該選項會保留在默認子菜單上的舊位置。我們正在使用IIS 7.清除asp緩存?

重新啓動沒有幫助。糾正我,如果我錯了,但我認爲該頁面正在緩存,我需要清除此緩存。

我該如何去做這件事?這裏發生了什麼?

謝謝你的幫助和耐心。

+0

@DanRayyy - 我們是一家IE商店。 – DeveloperM

+0

會將頁面設置爲不能緩存的工作?說明:http://stackoverflow.com/questions/914027/disabling-browser-caching-for-all-browsers-from-asp-net – rogerdeuce

+0

添加?v = 2或任何隨機查詢字符串參數作爲版本的頁面或您正在使用的.js。這可以讓緩存認爲它是另一個頁面。 – Pleun

回答

-2

嘗試下面的代碼:

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(); 
+0

以這種方式爲所有用戶解決此問題可能是一項艱鉅的任務 –