页面在关闭的时候,修改用户的登陆状态state,怎么实现?
页面在关闭的时候,修改用户的登陆状态state,怎么实现?
------解决方案--------------------服务器端没有事件,是不知道的。
只能客户端的事件中调用服务器端的函数。。
客户端
< body onbeforeunload="window.open('http://www.website.com/browserclosed.aspx','mywindow','width=1,height=1');">
服务器端:
// page_load
int userId = Convert.ToInt32(request.session("userId"));
ReportBrowserClosed(userId);
// Do what you want in ReportBrowserclosed() method
或者客户端调用服务器端的web service.
------解决方案--------------------这类问题每天都有人问啊..
简单的就是楼上写的那样,但是浏览器意外关闭以及各种意外情况处理不了
复杂的就是ajax 隔几分钟浏览器和服务器确认一下还在线
------解决方案--------------------其实完全可以放在gloab.cs中的Session_End()方法里,即当前会话结束的时候触发,而不是每个页面关闭的时候
------解决方案--------------------3楼的基本就可行了
------解决方案--------------------