网页发布后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