CSDN-CSDN社区-.NET技术-ASP.NET

收藏 Session失效用Div弹出登录信息[问题点数:20,结帖人:gxzhangyizhong]

楼主发表于:2009-01-09 23:06:25
最近用ASP.NET做了个OA系统,用户发布信息时是从Session提取登录信息的.可是Session失效就跳到登录页面重新登陆,我现在想弹出一个Div提供用户登录框. 我自己做了个小测试,点登陆按钮时能实现, 可是我不知道怎么在Session失效时触发弹出Div这个事件,谁能教教我啊? 小弟想了很久,真的没办法了...
回复次数:21
#1楼 得分:0回复于:2009-01-09 23:25:28
实时触发好象是不行的,只有在刷新页面或访问页面是弹出对话框是可以的!!
#2楼 得分:0回复于:2009-01-09 23:33:13
UP
#3楼 得分:0回复于:2009-01-09 23:33:31
UP
#4楼 得分:0回复于:2009-01-09 23:34:01
学习。。顶
#5楼 得分:0回复于:2009-01-09 23:49:19
顶。关注中...
#6楼 得分:0回复于:2009-01-10 14:12:51
有人知道吗?小弟现在急需要实现这个功能....有高手知道的指点下我啊!!
#7楼 得分:0回复于:2009-01-10 15:10:53
随便想想,
session有时间限制,如果在页面中加个计时器,过了时间就弹出DIV 试试。

申明自己没有动手,代码应该不难写
#8楼 得分:0回复于:2009-01-10 15:20:42
1、不停的刷服务器,然后Session失效后,弹出div
2、用户操作时,检测Session,失效的话,不跳转登陆页,弹出div
#9楼 得分:0回复于:2009-01-10 15:57:37
将session保存起来 不让他失效 也就不用弹出DIV了
  • isline用户头像
  • isline
  • (缘清)
  • 等 级:
#10楼 得分:0回复于:2009-01-10 17:19:49
Ajax检测Session+Javascript控制DIV
#11楼 得分:0回复于:2009-01-10 17:22:59
最简单的事操作的时候检测
比如提交按钮 检测
#12楼 得分:0回复于:2009-01-10 18:24:16
刷新页面时 判断session是否存在 js控制div
如果实时的 就页面定时刷新呗
js中可以使用session
#13楼 得分:0回复于:2009-01-10 19:23:49
像你这种情况,因为你是没有触发焦点,所以你只能在后台去轮循执行检测了.
#14楼 得分:0回复于:2009-01-10 21:21:54
引用 8 楼 lambober 的回复:
1、不停的刷服务器,然后Session失效后,弹出div
2、用户操作时,检测Session,失效的话,不跳转登陆页,弹出div


  lambober 能教我怎么实现吗? 我现在想要用户操作时,检测Session,失效的话,不跳转登陆页,弹出div 我已经做过测试,就是用户点击一个登录按钮,可以不跳到登录页面,直接弹出Div显示登陆框了...我现在不懂的就是怎样在用户停止很久(Session失效)后再点提交按钮,让它弹出Div.能给我点源代码提示吗? 谢谢.........
#15楼 得分:10回复于:2009-01-10 22:59:35
在前端写一段javascript, 定时用ajax访问后台代码,如果判断到失效就弹出窗口。代码如下
JScript code
window.setInterval("judgeSession()",50); function judgeSession() { var request = new ActiveXObject("MSXML2.XMLHTTP.3.0"); try { var sRequest="judge.aspx"; //在这个页面里后台程序里判断是否session timeout request .open("GET",sRequest,true); request.onreadystatechange = function() { if(request.readyState == 4) { if(request.status == 200) { if(request.responseText == '1') //返回1表示session timeout { /*在这弹出你的那个div窗口*/ } } } } request.send(null); } catch(e) {} }
#16楼 得分:0回复于:2009-01-10 23:08:33
适时刷新好象不行,除非用户有刷新页面,这样才好判断。
我菜鸟,说错请原谅。
#17楼 得分:0回复于:2009-01-11 14:37:31
在Session失效时

关键是这词,你想在什么时候判断,这是关键。
#18楼 得分:0回复于:2009-01-11 15:18:36
15楼类似你这样的做法我也有做过,但是我想要的是用户在发布一个信息时,可能对处理这个信息很久,然后再点击"提交",提交的时候Session失效才弹出Div, 就像17说的"你想在什么时候判断,这是关键" 我想在每个页面的有提交页面功能的页面里进行点击提交时判断.能不能统一写出一个JS在点击客户端事件判断呢?还是在后台怎么处理呢?
#19楼 得分:10回复于:2009-01-11 15:33:14
你这个点有几个问题需处理,

一是什么时机来触发检查SESSION这个动作,一般是在用户需与服务器交互时才触发,如果在服务器或客户端实时地检测SESSION是否失效应用到实际项目中肯定是不现实的。

二是具体怎么做?一是在后台写一个通用的方法来检测当前用户的SESSION是否失效,前台用AJAX调用此方法来判断,前台做一个隐藏的DIV,根据AJAX执行的结果来决定此DIV是否显示。

三是DIV这个前台中登录的实现,也采用AJAX来实现,这样就不会导致前台页面的重载。

如果楼主做的是应用系统,建议楼主采用相关的AJAX框架来弄。如EXT,JQUERY等。
#20楼 得分:0回复于:2009-01-13 17:07:46
15楼跟19楼跟给我很大的帮助..谢谢你们两个
#21楼 得分:0回复于:2009-01-13 17:08:14
还有谢谢大家的支持和帮助...
相关问题
连接超时后,重新弹出登陆框,发生错误! .NET技术/ ASP.NET - CSDN ...
showModalDialog中打开新页面Session丢失