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

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

异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。

源错误: 


行 485: //对数据表中进行启遍历,循环为第一列赋新值  
行 486: Hashtable hsCart = (Hashtable)Session["ShopCart"];
行 487: if (hsCart!=null)
行 488: {
行 489: foreach (object key in hsCart.Keys)
 

报487行有错,这个是什么错误,正确的应该怎样写呢?

------解决方案--------------------
加个断点看一下hsCart 是不是为null
------解决方案--------------------
应该是Session为空了,修改如下

C# code
Hashtable hsCart = Session["ShopCart"]==null?null:(Hashtable)Session["ShopCart"];

------解决方案--------------------
其实并不是487行有错,而是486行Hashtable hsCart = (Hashtable)Session["ShopCart"];转换不了,Session["ShopCart"]为空值,检查下你的赋值代码
------解决方案--------------------
探讨

应该是Session为空了,修改如下

C# code
Hashtable hsCart = Session["ShopCart"]==null?null:(Hashtable)Session["ShopCart"];

------解决方案--------------------
楼主要养成一个好的习惯啊 在获取数据之前要记得判断非空