2011-12-12 88 views
1

我有一個asp.net page_load事件。 當用戶點擊瀏覽器的後退按鈕時,我想在page_load事件中設置一些值。 問題是,當我點擊背部按鈕時,頁面從緩存中呈現,並且頁面加載事件未被觸發。 我該怎麼做才能讓page_load被觸發......除了強制瀏覽器緩存清除?在瀏覽器的後退按鈕上出現ASP.NET事件

+2

一般來說,你不應該亂搞後退按鈕。它屬於用戶的瀏覽器,不屬於您的應用程序。 –

回答

2

我想出了一個解決方案。 事實上,後退按鈕與服務器事件無關...該頁面直接從瀏覽器緩存中重新排列。 所以我做的是我在頁面加載上運行腳本,但不是ASP的頁面加載,而是JavaScript頁面加載。 只要點擊後退按鈕,就會引發JS頁面加載。

2

如果我理解正確的話,你有以下情況:

  • 用戶訪問網頁A.
  • 用戶點擊一個鏈接和訪問頁面B.
  • 用戶單擊後退按鈕和頁面A是再次顯示。它從瀏覽器緩存中顯示,而不是從服務器重新獲取。

是嗎?在這種情況下,您應該將頁面標記爲無緩存。使用Response.CacheControl屬性,您可以決定在響應的http標頭中返回哪些緩存選項。