asp.net购物车功能(帮我解决再追加100)
在做购物车模块的时候,出现了附图的问题.由点击添加到购物车后,进入AddToCart.aspx窗体,它主要完成获取购物车编号,并把购物信息添加到购物车中.完成后直接跳转到ShppingCart窗体(购物车页面). protected void Page_Load(object sender, EventArgs e) { if (Request.Params["GoodID"] != null) { GoodStore cart = new GoodStore(); String CartID = cart.GetShoppingCartID(); cart.AddItemToShoppingCart(CartID, Int32.Parse(Request.Params["GoodID"]), 1); } Response.Redirect("ShoppingCart.aspx"); }public String GetShoppingCartID() { //获取当前请求的HttpContext System.Web.HttpContext thecontext = System.Web.HttpContext.Current; //如果用户已经通过登录认证,则使用该用户的UserID作为永久的购物车ID,并返回该ID if (thecontext.User.Identity.Name != "") { return thecontext.User.Identity.Name; } //如果用户尚未通过认证,则分两种情况进行处理 if (thecontext.Request.Cookies["Store_CartID"] != null) { return thecontext.Request.Cookies["Store_CartID"].Value; } else { //产生一个随机的GUID Guid tempShoppingCartID = Guid.NewGuid(); //把tempShoppingCartID发送到客户端,并作为一个COOKIE保存下来 thecontext.Response.Cookies["Store_CartID"].Value = tempShoppingCartID.ToString(); //函数返回这个tempCartID return tempShoppingCartID.ToString(); } }AddItemToShoppingCart()函数可以看下附图.AddItemToShoppingCart的存储过程如下:CREATE PROCEDURE AddItemToShoppingCart(@CartIDString nvarchar(50),@GoodID int,@GoodQuantity int) ASdeclare @CountItems int Select @CountItems=Count(GoodID)FROMShopCartwhere GoodID=@GoodIDANDCartIDString =@CartIDStringif @CountItems>0updateShopCartset GoodQuantity=(@GoodQuantity+ShopCart.GoodQuantity)where GoodID=@GoodIDANDCartIDString =@CartIDStringelseinsert into ShopCart(CartIDString,GoodQuantity,GoodID)VALUES(@CartIDString,@GoodQuantity,@GoodID)GO------------------------------------------------------出错的提示说CartID为空,没有插入CartID,可是GetShoppingCartID这个函数不就是实现获取CartID,并存储的功能吗?请高手们帮我看看要怎么解决.谢谢.