2012-12-19 83 views
9

可能重複:
detect back button click in browser如何識別我是否在IE中按下後退按鈕?

我有兩頁,1和Page 2。通過單擊鏈接從Page1移動到Page2時,我傾向於在頁面2上存儲恢復頁面1狀態所需的條件,方法是單擊瀏覽器後退按鈕。

我使用下面的函數來清除緩存,

protected override void OnInit(EventArgs e) 
{ 
    Response.Cache.SetCacheability(HttpCacheability.NoCache); 
    Response.Cache.SetNoStore(); 
    Response.Cache.SetExpires(DateTime.MinValue); 
    base.OnInit(e); 
} 

,這樣我可以基於cookie的存儲條件重新加載頁面。但問題是如何確定我是否已按下瀏覽器後退按鈕或菜單鏈接來到Page1。

更新:

我剛剛登陸此鏈接detect back button click in browser上,但它不工作對我來說

+4

http://stackoverflow.com/questions/6359327/detect-back-button-click-in-browser – GeorgesD

+1

我會在某些會話變量中存儲位置和導航信息,以便相應處理,以便您可以知道您的位置是,你在哪裏,以及你現在在哪裏。 – Alex

+0

@GeorgesD它不能解決我的問題 – iJade

回答

0

請解釋一下你的問題,不是你的解決方案。由於您將頁面的可緩存性設置爲無,因此瀏覽器將簡單地重新發出對該頁面的無條件請求。這與點擊指向該頁面的鏈接沒有區別,並且不可檢測。

如果你的問題是,你不知道如何設置表單數據,當有人再次訪問一個頁面,你可以使用這樣一個會話(僞):如果你想顯示清晰

if (!String.IsNullOrEmpty(Session["Username"])) 
{ 
    UsernameTextbox.Text = Session["Username"]; 
} 

當點擊該頁面的鏈接時,你可以設置一個查詢參數,如reset=true,這將清除會話數據並顯示一個空白表單。

+0

這裏是我的問題的鏈接... http://stackoverflow.com/questions/13931677/unable-to-read-the-selected-drop-down-list-value -on-頁面加載後壓-BRO – iJade

相關問題