if (!string.IsNullOrEmpty(Session["did"].ToString()))
                {
                    l_address.Text = b.Address;
                    l_phone.Text = b.Phone;
                    l_linkname.Text = b.Linkname;
                }
                else
                {
                    l_address.Text = "仅装修企业会员可见";
                    l_phone.Text = "仅装修企业会员可见";
                    l_linkname.Text = "仅装修企业会员可见";
                }上面这段代码是判断session是否为空
对吧。但是为什么 为空的时候不走else呢?
而是走的异常。异常原因是 未将对象实例化。。我想问下大侠怎么判断这个session["did"]是否存在
我觉得他报错 未将对象是里面是没有找到did这个session 

解决方案 »

  1.   

    if(Session["did"]==null|| Session["did"].ToString()=="")
    {
    }加try catch
      

  2.   

    if(Session["did"]!=null)
    {
     //如果Session["did"]为null,Session["did"].ToString()就报错了。
    }
      

  3.   

    换种方式被、 if (Session["did"]!=null)
                    {
                        l_address.Text = b.Address;
                        l_phone.Text = b.Phone;
                        l_linkname.Text = b.Linkname;
                    }
                    else
                    {
                        l_address.Text = "仅装修企业会员可见";
                        l_phone.Text = "仅装修企业会员可见";
                        l_linkname.Text = "仅装修企业会员可见";
                    }
      

  4.   

    (!string.IsNullOrEmpty(Session["did"].ToString()))Session["did"]是先执行ToString,后判断是否为空,如果为空执行ToString就已经异常了
      

  5.   

    Session["did"]是null的时候,就出错了,直接用(!string.IsNullOrEmpty(Session["did"]))
      

  6.   

    因为你的session都是空的,空的东西怎么tostring啊
      

  7.   

    果真是滥用 ToString。。催悲了。谢谢楼上的几个星星帮忙。。嘿嘿。可算找到原因了!谢谢 3 4 5 6 7 教我
      

  8.   

    if (Session["did"]!=null!&&string.IsNullOrEmpty(Session["did"].ToString()))