当前位置:编程学习 > C#/ASP.NET >>

错误:未将对象引用设置到对象的实例。 郁闷死了............

public static class JieBookShopConfig
{
              public static string GetCartID
        {
            get
            {
                HttpContext context = HttpContext.Current;
                string CartID = "";
                object session = context.Session["CartID"].ToString();//未将对象引用设置到对象的实例。
                if (session != null)
                    CartID = session.ToString();

                if (CartID == "")//Session 没有
                {
                    if (context.Request.Cookies["CartID"] != null)//Cookie 没有
                    {
                        CartID = context.Request.Cookies["CartID"].Value;
                        context.Session["CartID"] = CartID;
                        return CartID;
                    }
                    else
                    {
                        CartID = Guid.NewGuid().ToString();
                        context.Session["CartID"] = CartID;

                        HttpCookie cookie = new HttpCookie("CartID", CartID);
                        int cookieDays = Int32.Parse(JieBookShopHelper.JieBookShopConfig.CookieDays);
                        DateTime currentDate = DateTime.Now;
                        TimeSpan timeSpan = new TimeSpan(cookieDays, 0, 0, 0);
                        DateTime endDate = currentDate.Add(timeSpan);
                        cookie.Expires = endDate;
                        context.Response.Cookies.Add(cookie);

                        return CartID;
                    }
                }
                else
                {
                    CartID = context.Session["CartID"].ToString();
                    return CartID;
                }
            }
        }

} --------------------编程问答-------------------- ...
Session为NULL的时候ToString 肯定会报错的
if(Session["CartID"] != null) --------------------编程问答-------------------- 单步调试看看Session["CartID"] 是否有值,基本的检查错误要先学会 --------------------编程问答-------------------- 顶沙发的 --------------------编程问答-------------------- object session = context.Session["CartID"];//此时不要用ToString()方法。 --------------------编程问答-------------------- 上面说的基本已经可以了。 --------------------编程问答-------------------- 应该是Session["CartID"]没有定义吧 --------------------编程问答-------------------- 写前检查是事超时,或者没有此session

if
Session["CartID"] --------------------编程问答-------------------- 既然是object类型,何必转换为string呢

object session = context.Session["CartID"]; --------------------编程问答-------------------- mark
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,