2009-07-17 92 views
3

在維護ASP.Net應用程序時,IE7中的後退按鈕遇到了一個不尋常的問題。選擇幾個指向aspx頁面的鏈接,然後按下返回按鈕一次後,IE的後退按鈕會變灰,而下拉的快速歷史記錄不會包含更多條目。這顯然是不正確的,因爲點擊多個鏈接可以幫助您達到這一點。打開實際的歷史記錄顯示了完整的軌跡,但由於某種原因,後退按鈕無法確定是否有更多頁面。IE7後退按鈕在.NET應用程序中丟失歷史記錄

現在對於一些細節:

  • .NET 2.0
  • 安裝使用具有 禁用頁面緩存母版頁 (HttpCacheability.NoCache)
  • 頁面使用原型的Ajax 庫加載動態內容。 歷史中的頁面不是依賴於Ajax調用的 ,而是使用靜態URI加載 特定信息,並且僅調用加載上下文 信息的 。換句話說,每 頁的歷史具有實際 URL,不是一個Ajax調用 修改
  • 問題在Firefox

不會發生我已經做了必要的谷歌搜索和想出了有幾個點擊,但他們大多表示要麼是「這是如何IE瀏覽器」或「使用像Firefox一樣的真正的瀏覽器」,這兩者都沒有幫助。任何人都可以解釋這個問題嗎?

謝謝!

回答

0

如果「安裝程序使用已禁用頁面緩存的主頁面(HttpCacheability.NoCache)」,那麼這可能是原因。嘗試再次允許緩存並查看是否有效。

+0

感謝您的回覆。我們刪除了NoCache,問題依然存在。 – dball917 2009-07-23 17:10:17

1

雖然您的Ajax庫實際上是否有助於瀏覽器的歷史?大多數Ajax庫都有處理這個問題的方法。 jQuery有一個歷史插件,微軟的Ajax有一個歷史控件..

0

這是Ajax組件,你刷新了單個頁面的一部分。您每次都不重新加載頁面。頁面重新加載是來自服務器的另一個完整請求,即使它正在請求同一頁面,您已提交不同的信息,並且後面的代碼可能使用此數據以不同的方式呈現頁面。

當使用Ajax時,您可以控制頁面的哪一部分正在重新加載,但是這些全部都是用javascript完成的,某處以某種方式完成,因此您沒有在正常莊園中填充瀏覽器歷史記錄。不同的瀏覽器會以不同的方式處理這種情況。

相關問題