[转]如何捕捉WEB窗体关闭事件
2006-09-18 21:03
351 查看
原帖地址:http://community.csdn.net/Expert/topic/5030/5030429.xml?temp=1.928347E-02
一直以来用户非正常退出系统 即:用户按右上角的 X 按纽后
服务器端 session 无法销毁! 一直要等到其过期时间到了才销毁 这样通过session进行在线人
数统计就无法准确了!
我今天试了才发现 其实关闭浏览器事件可以捕捉到的 那么我们就可以在关闭事件里调用Session.Abandon();了
(我下面这个例子特别适合页面是框架结构信息管理系统,因为这个样的结构都有一个公用的主框架页面)
废话少说!说正题!
main.aspx
1、<body onbeforeunload="LeaveWin()">
2 <head>之间 加入!
<script language=javascript>
function LeaveWin()
{
//alert("您点击了关闭按纽右上角的");
window.location.href = "../LoginOut.aspx";
}
</script>
LoginOut.aspx
3、LoginOut.aspx 的Page_Load里只有一句话
protected void Page_Load(object sender, EventArgs e)
{
Session.Abandon();
}
以上两个页面完成后 如果不放心 打开你的VS2003 或者 2005 在Session.Abandon();前设置断点开始调试
当关闭了main.aspx 后 程序是可以运行到Session.Abandon();的!!太爽了!
如果再加个 xmlhttp 无刷新请求,变态点 1秒刷一次!那可正的象实时一样了!
一直以来用户非正常退出系统 即:用户按右上角的 X 按纽后
服务器端 session 无法销毁! 一直要等到其过期时间到了才销毁 这样通过session进行在线人
数统计就无法准确了!
我今天试了才发现 其实关闭浏览器事件可以捕捉到的 那么我们就可以在关闭事件里调用Session.Abandon();了
(我下面这个例子特别适合页面是框架结构信息管理系统,因为这个样的结构都有一个公用的主框架页面)
废话少说!说正题!
main.aspx
1、<body onbeforeunload="LeaveWin()">
2 <head>之间 加入!
<script language=javascript>
function LeaveWin()
{
//alert("您点击了关闭按纽右上角的");
window.location.href = "../LoginOut.aspx";
}
</script>
LoginOut.aspx
3、LoginOut.aspx 的Page_Load里只有一句话
protected void Page_Load(object sender, EventArgs e)
{
Session.Abandon();
}
以上两个页面完成后 如果不放心 打开你的VS2003 或者 2005 在Session.Abandon();前设置断点开始调试
当关闭了main.aspx 后 程序是可以运行到Session.Abandon();的!!太爽了!
如果再加个 xmlhttp 无刷新请求,变态点 1秒刷一次!那可正的象实时一样了!
相关文章推荐
- [转]如何捕捉WEB窗体关闭事件
- 如何捕捉控制台程序的关闭事件。
- C#.NET常见问题(FAQ)-如何捕捉窗体关闭的事件,弹窗确认是否退出
- 如何捕捉控制台程序的关闭事件(转)
- 如何捕捉窗口的前进、后退、刷新、停止、关闭、移动事件
- C#.NET常见问题(FAQ)-如何捕捉窗体关闭的事件,弹窗确认是否退出
- 如何捕捉控制台程序的关闭事件
- 如何捕捉控制台程序的关闭事件
- 兼容性强的js捕捉网页刷新关闭退出事件的方法
- 【转】捕捉菜单打开和关闭事件
- 如何处理计划中的网站关闭事件
- 如何捕获系统关闭事件
- WinForm中如何判断关闭事件来源于用户点击右上角的“关闭”按钮
- WinForm中如何判断关闭事件来源于用户点击右上角的“关闭”按钮
- 在asp.net中能否捕捉用户关闭该页面浏览器的事件?(转)
- Activity 事件以及如何得到新打开Activity关闭后返回的数据
- 转载:Android 如何解决dialog弹出时无法捕捉Activity的back事件
- Android 如何监听输入法关闭事件
- 如何在父窗口中得知window.open()出的子窗口关闭事件
- 弹出窗口关闭后如何触发父窗口事件 [转帖]