判断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,不需要清空,已清空了.
{
}