日期:2014-05-20  浏览次数:20371 次

判断Session过期 问题!急
将这个判断Session的代码放到   page_load()最上面,我用代码清空Session了,为什么判断不到,还是继续往下执行?
if   (   (Session[ "AgentFlaglog "]   ==   null)   )
{
Response.Write( " <script   language=javascript> alert( '对不起,您的登录时间已过期,请重新登录! ');parent.location.href= '../Login.aspx '; </script> ");
}

清空代码:
Session.Clear();

------解决方案--------------------
Session[ "AgentFlaglog "].Clear();
------解决方案--------------------
try loushang
------解决方案--------------------
Session.Remove( "AgentFlaglog ");
------解决方案--------------------
Session.Remove( "AgentFlaglog ");

或者晴空全部.
------解决方案--------------------
Session[ "AgentFlaglog "].Clear();
------解决方案--------------------
Session[ "AgentFlaglog "].Clear();
这么写很危险。
如果Session[ "AgentFlaglog "]==null
执行Session[ "AgentFlaglog "].Clear();
就报错了。

------解决方案--------------------
Response.Write( " <script language=javascript> alert( '对不起,您的登录时间已过期,请重新登录! ');parent.location.href= '../Login.aspx '; </script> ");
return;
=========
要加上return;不然程序还是会执行下去。
------解决方案--------------------
楼上的说法似乎不对,已经跳转到login了,不会执行了

------解决方案--------------------
if ( (Session[ "AgentFlaglog "] == null) )
{
Response.Write( " <script language=javascript> alert( '对不起,您的登录时间已过期,请重新登录! ');parent.location.href= '../Login.aspx '; </script> ");
}
……
===========
你说,如果后面继续有语句,不会执行?
它给的只是一段代码。

服务器继续执行,管你什么Response.Write。执行完才输出script。跳转过去也晚了。
------解决方案--------------------
if ( (Session[ "AgentFlaglog "] == null) )
{
Response.Write( " <script language=javascript> alert( '对不起,您的登录时间已过期,请重新登录! ');parent.location.href= '../Login.aspx '; </script> ");

Response.End();
return;
}
------解决方案--------------------
说得够清楚了吧``
------解决方案--------------------
学习
------解决方案--------------------
up一下..
LZ可以打个断点看一下
------解决方案--------------------
if ( (Session[ "AgentFlaglog "] == null) ) //已经为null,不需要清空,已清空了.
{
}