如何在后台的代码中判断用户是否关闭了窗口?

时间:2020-12-18 20:38:27
我想在Page_unload事件中判断,但是无论是刷新窗口,还是提交页面,都会执行Page_unload中的程序,我现在只想关闭窗口时才执行才程序,不知应该如何判断?谢谢!

12 个解决方案

#1


一定要有清晰的概念。
Page_unload是发生在每次请求的响应完成的时候。
而在客户端的窗口关闭的是不会回发的。
一种办法是不停的刷,起个守护线程判断一下,超时了就认为关闭了。
另一个办法是使用webserver.htc向服务器发一条消息。
简单点,通过session超时来判断。

#2


难道没有方法可以判断用户是否关闭了窗口吗?

#3


同关注,不知道javascript中是否有办法获得用户的关闭窗口动作?并且在关闭的同时,是否还能在服务器端执行其它代码?

#4


有办法,这里已经有很多例子了,自己搜索,可以使page_unload( )只在关闭时起作用

#5


我搜过了,但是找不到,能不能提供具体的网址,谢谢!

#6


真的没人可以帮我吗?苦恼:(

#7


一点提示,窗口关闭时会引发客户端的onunload事件,比如这个html页,你在关闭窗口时会弹出一个提示框显示hello:

<HTML>
<BODY onunload="alert('hello')">
</BODY>
</HTML>

要引发服务器端事件需要在该客户端事件处理程序中回发。

--------------------------------
AspNetPager 免费分页控件4.2版发布,同时发布最新源代码,欢迎下载:http://www.webdiyer.com

#8


谢谢 webdiyer(陕北吴旗娃)!不过能否再说得具体一点,比如我想当用户关闭窗口时删除该用户的session值应该如何做?另外你的分页控件我已经下了,正在学习中......可是好像有点问题,但我把源文件拷到vs.net中编译时,提示出错:2223行:public class PagerDesigner:System.Web.UI.Design.WebControls.PanelDesigner 请问是怎么回事?

#9


当然可以的哇,加个判断语句就好了,使用javascript做就好,判断是不是做了以下操作,一,点击了关闭按钮;二,双击了流浪器的左上角;具体代码,以前我发过,你找找看。

#10


>>>>比如我想当用户关闭窗口时删除该用户的session值应该如何做?

窗口关闭了,session也不存在

#11


你那样做是徒劳的,因为如果用户打开两个或三个窗口,只要关闭其中一个就会删除Session,这样肯定会出问题的。
控件的问题,你可以重新下载我刚刚上传的vs.net项目打包文件试试,谢谢!

#12


>>>>比如我想当用户关闭窗口时删除该用户的session值应该如何做?

窗口关闭了,session也不存在

#1


一定要有清晰的概念。
Page_unload是发生在每次请求的响应完成的时候。
而在客户端的窗口关闭的是不会回发的。
一种办法是不停的刷,起个守护线程判断一下,超时了就认为关闭了。
另一个办法是使用webserver.htc向服务器发一条消息。
简单点,通过session超时来判断。

#2


难道没有方法可以判断用户是否关闭了窗口吗?

#3


同关注,不知道javascript中是否有办法获得用户的关闭窗口动作?并且在关闭的同时,是否还能在服务器端执行其它代码?

#4


有办法,这里已经有很多例子了,自己搜索,可以使page_unload( )只在关闭时起作用

#5


我搜过了,但是找不到,能不能提供具体的网址,谢谢!

#6


真的没人可以帮我吗?苦恼:(

#7


一点提示,窗口关闭时会引发客户端的onunload事件,比如这个html页,你在关闭窗口时会弹出一个提示框显示hello:

<HTML>
<BODY onunload="alert('hello')">
</BODY>
</HTML>

要引发服务器端事件需要在该客户端事件处理程序中回发。

--------------------------------
AspNetPager 免费分页控件4.2版发布,同时发布最新源代码,欢迎下载:http://www.webdiyer.com

#8


谢谢 webdiyer(陕北吴旗娃)!不过能否再说得具体一点,比如我想当用户关闭窗口时删除该用户的session值应该如何做?另外你的分页控件我已经下了,正在学习中......可是好像有点问题,但我把源文件拷到vs.net中编译时,提示出错:2223行:public class PagerDesigner:System.Web.UI.Design.WebControls.PanelDesigner 请问是怎么回事?

#9


当然可以的哇,加个判断语句就好了,使用javascript做就好,判断是不是做了以下操作,一,点击了关闭按钮;二,双击了流浪器的左上角;具体代码,以前我发过,你找找看。

#10


>>>>比如我想当用户关闭窗口时删除该用户的session值应该如何做?

窗口关闭了,session也不存在

#11


你那样做是徒劳的,因为如果用户打开两个或三个窗口,只要关闭其中一个就会删除Session,这样肯定会出问题的。
控件的问题,你可以重新下载我刚刚上传的vs.net项目打包文件试试,谢谢!

#12


>>>>比如我想当用户关闭窗口时删除该用户的session值应该如何做?

窗口关闭了,session也不存在