用户关闭浏览器怎么办? 我在数据库中的用户表中创建了一个字段以表示用户的在线状态,在用户登陆的时候,将状态置为在线,当用户点击退出按钮时,改写该状态。但是这样一来,一旦用户关闭浏览器,这时无法改写状态字,这样用户就再也不能登陆了。这个问题怎么解决呢?(用户要求一定要在数据库中存储用户的在线状态)谢谢各位高手! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 使用Session来进行操作,在Session_End事件中将用户标识清除。 请参考http://dev.csdn.net/develop/article/35/35248.shtm 我的决解方案是在要被关闭的页面加一段代码(用java,页面unload事件!),代码的内容就是弹出一个新页面,在执行一面代码完成用户退出的有关操作! 在global.asax里写protected void Session_End(Object sender, EventArgs e) { string sqlA,sqlB,sqlC; sqlA="delete 系统设置 where about='计数器'"; sqlB="insert into 系统设置(about,content) values('计数器','"+Application["visitedcount"]+"')"; sqlC="update 登陆日志 set 是否在线=0 where ryid="+Convert.ToInt32(Session["ryid"]); adohelper myado=new adohelper(); try { myado.ExecuteUpdate(sqlA); myado.ExecuteUpdate(sqlB); myado.ExecuteUpdate(sqlC); } catch { } finally { Application.Lock(); Application["online"]=(int)Application["online"]-1; Application.UnLock(); } } 我怎样在global.asax取到一个Session值? 第一无法得知第二每个页面都加检查用户函数,如果用户访问更新用户在线时间第三设置超时时间(建议放在web.config)中,超过时间用户不访问视作离线 在页面的onbeforeUnload事件里写动作:onbeforeunload="document.form1.action='yourPage?exec=unload';document.form1.submit();"这样在页面被关闭时,会有一次回传服务器的动作。 我有一方案:建一表,一字段.值为0表示不在线:web主页面打开是定时更新这一字段为3;如每2分钟;如点击写的关闭按钮事件则直接将字段更新为0在服务器端,写一win窗本程序,每2分钟将这字段值>0的减1,当关闭6分钟后就减为0即不在线.这样在登陆是检查字段值就可,如>0表示在线或未正常退出.则等6分钟后可以重新进入系统. 动态添加TabPanel选项卡 怎么做这个导航条 在Gridview上实现on mouse over,急!!! 遇到个不是很好描述的问题,只说下现象,有遇到过的帮忙分析下可能是什么原因呢?谢谢 access中如何获得刚插入的行的id值 郁闷的问题!!关于VB语言里除法的问题 ◆◆◆谁看过《.NET框架下电子商务站点建设指南》这本书,看懂的请进◆◆◆ 关于在线编辑WORD,EXCEL等文档的问题。 如何禁止HTML的自动格式 请没有做过自动更新,请进来讨论一下 那个哥哥知道对vss编程的资料 简单问题 救命
http://dev.csdn.net/develop/article/35/35248.shtm
protected void Session_End(Object sender, EventArgs e)
{
string sqlA,sqlB,sqlC;
sqlA="delete 系统设置 where about='计数器'";
sqlB="insert into 系统设置(about,content) values('计数器','"+Application["visitedcount"]+"')";
sqlC="update 登陆日志 set 是否在线=0 where ryid="+Convert.ToInt32(Session["ryid"]); adohelper myado=new adohelper();
try
{
myado.ExecuteUpdate(sqlA);
myado.ExecuteUpdate(sqlB);
myado.ExecuteUpdate(sqlC);
}
catch
{
}
finally
{
Application.Lock();
Application["online"]=(int)Application["online"]-1;
Application.UnLock();
}
}
第二每个页面都加检查用户函数,如果用户访问更新用户在线时间
第三设置超时时间(建议放在web.config)中,超过时间用户不访问视作离线
onbeforeunload="document.form1.action='yourPage?exec=unload';document.form1.submit();"
这样在页面被关闭时,会有一次回传服务器的动作。
web主页面打开是定时更新这一字段为3;如每2分钟;如点击写的关闭按钮事件则直接将字段更新为0
在服务器端,写一win窗本程序,每2分钟将这字段值>0的减1,当关闭6分钟后就减为0即不在线.
这样在登陆是检查字段值就可,如>0表示在线或未正常退出.则等6分钟后可以重新进入系统.