2012-10-15 92 views
0

可能重複:
Is there any way to know that user leaving a page with asp.net?註銷OT關閉瀏覽器時,離開網站

我怎樣才能讓我的Web應用程序時執行自動註銷或關閉會話?

(如GMAIL,當您不檢查「記住我」時,如果您關閉瀏覽器或移動到其他頁面,則會將您註銷)。

謝謝,因巴爾。

+0

您可以在javascript中使用'onbeforeunload'事件。 – ravidev

+0

檢查此URL並編寫適當的會話放棄代碼http://msdn.microsoft.com/en-us/library/ie/ms536907(v=vs.85).aspx – ravidev

回答

0

您可以使用「onbeforeunload」事件,並彈出一個殺使用Session.Abandon

,或者如果您正在使用窗體身份驗證,你有一個選項,使用超時

+0

「onbeforeload」的問題在於它即使當您離開Web應用程序內的頁面時,也會調用它,並且我希望僅當用戶離開Web應用程序時纔會發生註銷。 – Inbal

+0

即使關閉窗口(當用戶離開Web應用程序時)它也會觸發,但是這裏有一個混合的響應,onbeforeunload在所有瀏覽器中的行爲都不相同 –

+0

是的,但我不想關閉會話,如果用戶只是移動到另一個頁面... – Inbal

0
殺死一定時間後會話的會話
<script type="text/javascript"> 

     var clicked = false; 
     function CheckBrowser() { 
      if (clicked == false) { 
       //Browser closed 
      } 
      else { 
       //redirected 
       clicked = false; 
      } 
     } 

     function Logout() { 
      if (clicked == false)//browser is closed 
      { 
       window.location = "../Master/Logoff.aspx"; 
      } 
     } 
    </script> 
  1. 將這個JavaScript的對母版頁和內容頁onbeforeu

  2. 調用註銷方法的你的頭節身體部位的n載入事件,如

    <body onbeforeunload="Logout()" onclick="clicked=true;">

  3. 刪除數據庫尊敬的用戶條目,並在被稱爲頁的Page_Load事件如殺會議:

頁面名稱:註銷。 aspx

Protected void Page_Load(Object Sender,EventArgs e) 
{ 
     //Write Delete User From Database Code Here. 
} 

粘貼自Log out user on browser close

相關問題