日期:2014-05-18  浏览次数:20449 次

怎样在用户关闭页面的时候,改变数据库中用户的在线状态。。(结贴很快)
怎样在用户关闭页面的时候,改变数据库中用户的在线状态?
用户离开页面原来的在线状态由1变为0了。。

------解决方案--------------------
mark~~
那用户那断电怎么办?
------解决方案--------------------
好象是在Global.asax文件中的protected void Session_End(Object sender, EventArgs e)方法中写对数据库的操作.
------解决方案--------------------
1.登陆成功的时候在Global.asax新建一个全局的session,退出的时候在Global.asax的Session_End事件中写事件
2.在文件的Application_End事件中写事件
------解决方案--------------------
用Application和Session,结合global.asax文件比较好解决。
抱谦的是:我现在还是个菜鸟,还没亲手实践做过。但基本思路应该是这样的。
------解决方案--------------------
不好意思。我的帖子发出来的速度还是比他们慢了两分钟。
------解决方案--------------------
1.登陆成功的时候在Global.asax新建一个全局的session,退出的时候在Global.asax的Session_End事件中写事件
2.在文件的Application_End事件中写事件

是真确的方法
------解决方案--------------------
关键是关闭页面这个事件怎么判断呢?
------解决方案--------------------
void Session_Start(object sender, EventArgs e)
{
// 在新会话启动时运行的代码

}

void Session_End(object sender, EventArgs e)
{
// 在会话结束时运行的代码。
// 注意: 只有在 Web.config 文件中的 sessionstate 模式设置为
// InProc 时,才会引发 Session_End 事件。如果会话模式设置为 StateServer
// 或 SQLServer,则不会引发该事件。

}
------解决方案--------------------
没那么及时,B/S不同C/S,在Session_End去改数据库
------解决方案--------------------
结贴快也没办法很准确
------解决方案--------------------
void Session_Start(object sender, EventArgs e)
{
// 在新会话启动时运行的代码

}

void Session_End(object sender, EventArgs e)
{
// 在会话结束时运行的代码。
// 注意: 只有在 Web.config 文件中的 sessionstate 模式设置为
// InProc 时,才会引发 Session_End 事件。如果会话模式设置为 StateServer
// 或 SQLServer,则不会引发该事件。

}

------解决方案--------------------
如果想做的精确还是比较麻烦的~~~~~~~

楼主可以Google一下精确在线人数的做法
一般都是弄个隐藏的Iframe不停的刷
------解决方案--------------------
上冇的方法是一种办法`~但如果是用户非法关闭~~那就要等到Session失效事才能进行操作,
function onunload()
{
//这里写改变数据库
}
这个方法也可以~~但也有一个问题~~就是当用户刷新时`~他也会进行操作`~
我想除了这两种方法,就没有其它好的方法了
------解决方案--------------------
关注
------解决方案--------------------
只能每隔一段时间刷新一次session 来判断是否在线,在网页里设置超时时间

------解决方案--------------------
好像不能做的那么精确吧
不国如果是正常推出的话,应该可以在Application_End()内可以做的
------解决方案--------------------
貌似没有什么万全的办法~ 总是存在一些问题
------解决方案--------------------
<script language= "javascript " type= "text/javascript ">
<!--

window.onbeforeunload = function()//离开页面事件
{
//你要实现的代码
}
<script>
------解决方案--------------------