超过30分钟代码失效是什么意思?是30分钟时session对象还存在,导致无法执行还是session已经不存在了,但是代码仍然为执行?如果是1,请检查session的timeout属性是否设置为30分钟

解决方案 »

  1.   

    我是这样解决的:
    如果session过期,就直接回登录页面,然后在登陆页面里用javascirpt代码判断它是否是框架页面
    javascipt代码如下:
    var tmpL;
    tmpL=top.location.href;
    if(tmpL.length>=10)
      if(tmpL.substring(tmpL.length-10,tmpL.length)!="login.aspx" )
        top.location.href="login.aspx";
      

  2.   

    if(Session["a"]==null)
    {
     Response.write("<javascript>top.location='default.aspx'</javascript>");
    }
      

  3.   

    parent只是上一层,top才是最顶层,也就是首页,
    所以net_lover(孟子E章) 应该是对的.if(Session["a"]==null)
    {
     Response.write("<javascript>top.location='default.aspx'</javascript>");
    }
      

  4.   

    超时框架页面自动返回首页并不是Session过期的问题,而是Web.config那里有这样一项设置:
        <authentication mode="Forms" > 
          <forms name="AuthCookie" loginUrl="/default.aspx" timeout="30" /> 
        </authentication>其中timeout默认30分钟。超过30分钟,将不会执行当前页面代码,直接转向default.aspx因此只需把timeout设为更长时间即可。