string userid;
userid=Session["userid"].ToString();
if (userid.Equals(""))
{
Response.Write("session值超時");
}
else
{
Response.Write("session值");
}为什么在我没有登录,直接访问main.htm框架页时,Response.Write("session值超時");这句话输不出来呢?而在登录入,进入main.htm页面就能Response.Write("session值");出来.]
即是说:userid=Session["userid"].ToString();在没有session值时.就出错了.怎么办?

解决方案 »

  1.   

    没有session的时候,Session["userid"]=null 这时转换会出错的if(Session["userid"]==null){Response.Write("session值超時");}
      

  2.   

    if (Session["userid"]==null)
    {
    Response.Write("session值超時");
    }
    else
    {
    Response.Write("session值");
    }
      

  3.   

    行 22:  //字符形:Session["userid"].ToString().Trim().Equals("")
    行 23:  string userid;
    行 24:  userid=Session["userid"].ToString();
    行 25:  if (userid==null)
    行 26:  {
     源文件: d:\117\adminback\left.aspx.cs    行: 24
      

  4.   

    當Session["userid"].ToString();还没有从另外的页面赋值过来时.直接访问页面就出错.当从另外的页面有session值赋过来的时候就没有错.这个问题请教一下怎么解决?
      

  5.   

    Session["userid"]是NULL,怎么还能对它用ToString()方法,自己想想吧.
      

  6.   

    页面1:Session["userName"]=userName.Text;
    页面1触发后的页面2得到接受Session的值:
    UserName=Session["userName"].ToString();
    if (UserName ==null)
    {
    Response.Write("session值超時");
    }
    else
    {
    Response.Write("session值");
    }
    //try it,Maybe OK!