用户登录后,过二十分钟,session失效,然后使用SESSION的页面就会错,未将对象设置引用到对象实例。
        If (Session("keyvalue").ToString() = "")            {  
              Server.Transfer("Default.aspx");
           }
红字体这句报错,另外所有使用(Session("keyvalue").ToString() 的页面都会报同样的错误,
这是怎么回事啊?
有没有办法解决?
谢谢!!!

解决方案 »

  1.   

    前面加个
    if(Session["keyvalue"]!=null)
      

  2.   

    If (Session("keyvalue")== "")           {  
                  Server.Transfer("Default.aspx"); 
              } 
    (Session("keyvalue") 
      

  3.   


    要先判断session["keyvalue"]是否为null,如果为null,tostring()就会报错
      

  4.   

    If (Session("keyvalue").ToString() = "")  少个=号吧!!
      

  5.   

    在画面加载的load时间上加上:if (base.Session["keyvalue"] == null || base.Session["keyvalue"].ToString().Equals(""))
            {            Response.Write("<script>alert('获取用户信息时出现错误,请重新登录!');window.open('login.aspx','_parent')</script>");
            }
      

  6.   

    在画面加载的load时间上加上: if (base.Session["keyvalue"] == null || base.Session["keyvalue"].ToString().Equals("")) 
            {             Response.Write(" <script>alert('获取用户信息时出现错误,请重新登录!');window.open('login.aspx','_parent') </script>"); 
            }
      

  7.   

    先谢谢大家的回复,我的原程序上是两个等号的,这少写了一个,不好意思。
    同意  
    mengxj85
    的说法.
     TO:
    qlzf11140820
    用的C# 应该是[]
    我先试试 zhang_yugang 的方法.
      

  8.   

    1、应该先判断是否为null
    2、不放心,就||.tosting().equals("")
       
      

  9.   


    If (Session("keyvalue").ToString() = "")           
    {  
        Server.Transfer("Default.aspx"); 

    改为
    If (Session("keyvalue")== null )           
    {  
        Server.Transfer("Default.aspx"); 
      

  10.   

    大家的方法我都试了,还是不行的。
    我的理解是 session 失效后,就没有 session 这个对象了,Session("keyvalue").ToString() 这个没有.ToString() 这个方法了,才会报的错,
    如何判断 session  这个对象为空了呢?大家还有没有别的办法解决这个问题?
      

  11.   

    用这个:if(String.IsNullOrEmpty((String)Session["keyvalue"]))
    {
    }null 无法ToString(),却可以强转成 字符串类型, 并传给String的静态方法IsNullOrEmpty
      

  12.   

    试下
    Session["keyvalue"]
    方扩副