日期:2014-05-17  浏览次数:20470 次

网页发布后session存不了值
最近搞个页面,不知道为什么session和cookies都用不了。原本以为是否代码哪里写错了,但是找了许久不行,后来重新搞了2个页面,是最简单的赋值语句,但是跳转还是出错。(程序调试时是没问题的,发布后挂在iis上面就出问题了) win7 64位系统,sql2008R2+vs2010

下面是default页面代码
   
    protected void Page_Load(object sender, EventArgs e)
    {

    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        Session["text"] = "text";
        Response.Redirect("Default2.aspx");
    }

下面是default2页面代码,就在session赋值这里报错了  
( System.NullReferenceException: 未将对象引用设置到对象的实例。),session和cookies都一样

    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            Label1.Text = Session["text"].ToString();
        }
    }

------解决方案--------------------
session丢失,去百度一下有没有你要的答案!
------解决方案--------------------
protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
           if(Session["text"]!=null)
            Label1.Text = Session["text"].ToString();
           else
              Label1.Text ="Session为空!";
        }
    }

你用这个试试!
------解决方案--------------------
Session对象为空。
Session["text"].ToString()使用前应先检查Session["text"]对象是否为null,如果Session["text"]的值是null,直接用ToString()方法肯定会出错的。
先做个判断。
if(Session["text"]!=null)
{
//todo sth
}


------解决方案--------------------
第一检查一下浏览器或病毒
第二看下debug看下session的设置情况,是20分钟还是0分钟,还是什么。
第三是不是重新安装下iis
其它的应该没什么问题吧
------解决方案--------------------
问题是这样的:
你的赋值 Session["text"] = "text";  在default页面,取值 Session["text