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

关于session丢失问题
a页面
 //用户登陆 将之前的session清理再重新赋值
                Session.Abandon();
                Session.Clear();
                Session.Timeout = 1500;
                Session["useraccount"] =muser.Useraccount;
                Session["role_id"] = muser.Role_id;
                Session["id"]=muser.Id;
                if (Session["useraccount"] != null)
                    Response.Redirect("test.aspx");
b页面
                if (Session["useraccount"]!=null)
                   Label1.Text = Session["useraccount"].ToString();
              if (Session["role_id"] != null)
                   Label2.Text = Session["role_id"].ToString();
           Label1.Text = Session["useraccount"].ToString() ;
           Label2.Text = Session["role_id"].ToString();
在a页面session赋值后能读取 但跳转到b页面就空了。
b页面还 报错
异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例

源错误: 


行 19:             if (Session["role_id"] != null)
行 20:                    Label2.Text = Session["role_id"].ToString();
行 21:            Label1.Text = Session["useraccount"].ToString() ;
行 22:            Label2.Text = Session["role_id"].ToString(); 
行 23:         }
 
百度过很多帖子 对比过是没问题的 我代码是用三层架构写的 有dll文件,不知道有没有关系。求大神解救
session

------解决方案--------------------
Session.Abandon();这句去掉
------解决方案--------------------
Abandon和Clear是为了安全用的
我好奇的是,你是怎么跳转到b页面的,能把代码贴下不?