2013-06-18 217 views
-4

我有一個asp.net應用程序。如果用戶在他的瀏覽器中執行後退導航,我如何才能清除當前會話在瀏覽器中回退導航時清除當前會話

+2

與什麼是你的目標是什麼?也許有更現實的方法:) –

+2

暫時忽略你想如何_回到後退按鈕(即清除會話),你打算如何_detect_後退按鈕被按下?從歷史上看,這往往是非常困難和不可靠的。通常HTTP是一個簡單的請求/響應系統。瀏覽器只是發送請求到你的服務器。你怎麼能區分瀏覽器發送請求的區別,因爲用戶按下了後退按鈕,或者點擊了指向同一頁面的鏈接,或者手動鍵入了該頁面的地址等等? – David

回答

0

您可以刪除由會話(可能是你想要的):

Session.Abandon(); 

或者通過清除會話中的所有值:

Session.Clear(); 
+0

我可以從哪個事件呼叫Session.Abandon()。我如何知道返回導航發生? –

+0

這不是你的問題。但是沒有事件發生。你必須建立一些自定義的東西。檢測後臺瀏覽器按鈕是異味,這意味着代碼有問題。例如,您在數據庫中保存了兩次內容,這表明您在數據庫中執行了保存操作而不強制用戶執行get(重定向)。 – Peter

+0

沒有後退導航事件。捕獲這個的唯一方法是使用javascript方法OnUnload(),並且當客戶端離開頁面時將捕獲它,而不管它們將要去哪裏。 –

相關問題