注册 登录
编程论坛 ASP.NET技术论坛

获取 Session 变量值时发生错误

TrimVal 发布于 2008-08-10 23:03, 3444 次点击
如下获取:

   string strUser= Session["UserName"].ToString();

时提示错误如下:
   未将对象引用设置到对象的实例。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。
9 回复
#2
kevintang2008-08-11 09:39
你有没有藏进去啊?  或者你先判断一下Session 存在吗?

  if (Session["TM-City3D_User"] != null && Session["TM-City3D_User"].ToString() != string.Empty)
            {
               string strUser= Session["UserName"].ToString();

            }
            else
            {
                MessageBox.ShowAndRedirect(this.Page, "对不起!你还没有登入或是时间超时!", "LoginSystem.aspx");
                return;
            }

然后调试一下  就知道了!
#3
ycbbg2008-08-11 17:31
查看下有没有引用page类
#4
leavestars2008-08-12 21:57
publid partial class_default:System.web.UI.Page
#5
jdlichao2008-08-13 14:27
用法应该没问题
原因:Session["UserName"]为空。可能在再进行该赋值操作之前,哪里调用了Session.Abandon()操作,销毁了所有的Session变量。请仔细检查代码。
#6
yjq19842008-08-20 10:18
可以尝试在全局应用程序类里初始化session变量
可以尝试在全局应用程序类里初始化session变量
#7
ruanjian21102008-08-21 11:24
ls正解啊!!
#8
dante1272008-08-22 09:36
httpcontext.current.sesseion["username"]
#9
luoweihua72008-08-22 15:48
同一楼.你先 判断一下session是否为空啊.一般刚开始session都是空的.需要赋值之后才能操作
#10
djx5202008-08-25 14:46
if(Session["UserName"]!=null && Session["UserName"].ToString())
{
 string strUser= Session["UserName"].ToString();
}
1