我要判断aspx页面长时间没有操作,session的timeout时间过期,就提示重新登录。
但是在session有效时间内,点第一个页面session不为空,点击任意第二个页面的时候session就为空了,这是为什么呢?

解决方案 »

  1.   

    session存在哪了?一般存在cookie里
      

  2.   

    o 说错了,就是session存在哪了
      

  3.   

      /// <summary>
        /// Session超时处理
        /// </summary>
        /// <param name="ht">Session</param>
        public static void SessionOutWM(Page page)
        {
            if (page.Session["maLoginInfo"] == null)
            {
                page.Response.Write("<script language='javascript'>");
                page.Response.Write("alert('系统超时,请重新登录!');");
                page.Response.Write("window.top.location.href='../Main/WebManagelogin.aspx?removeId=1'");
                page.Response.Write("</script>");
                page.Response.End();
            }
        }
    我写了一个这样的方法 在每个页面的Page_Load事件中调用protected void Page_Load(object sender, EventArgs e)
        {
    SessionOutWM(this.Page);
    }
      

  4.   

    例如有两个页面,a.aspx ,b.aspx 
    session已经存在了
    如果先点a.aspx 不会调用SessionOutWM(this.Page); 
    再点b.aspx ,就会调用SessionOutWM(this.Page);