2012-10-15 58 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

相关问题