失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > ASP.NET购物车Cookie获取 创建 添加 更新 删除的用法

ASP.NET购物车Cookie获取 创建 添加 更新 删除的用法

时间:2023-11-27 22:37:39

相关推荐

ASP.NET购物车Cookie获取 创建 添加 更新 删除的用法

#region 添加购物车

public void GetShoppingCart(int skuId, int quanlity)

{

HttpCookie cookie = HttpContext.Current.Request.Cookies["myCart"];//获取cookie

var reg = Session["userInfo"] as Registration; 用户登入状态

#region 未登入状态时

if(reg == null)

{

if(cookie == null) //cookie为null时

{

cookie =new HttpCookie("myCart");//创建cookie

cookie.Values.Add(skuId.ToString(), quanlity.ToString());//添加Cookie

cookie.Expires = DateTime.Today.AddDays(30);//设置Cookie的过期日期或时间

Response.Cookies.Add(cookie);//将指定的cookie添加到此Cookie集合中

}

else if(cookie != null)

{

if(cookie.Values.AllKeys.Contains(skuId.ToString()))//判断cookie中是否存在此键

{

cookie.Values.Add(skuId.ToString(), quanlity.ToString());

cookie.Expires = DateTime.Today.AddDays(30);

Response.Cookies.Add(cookie);

}

else

{

cookie.Values[skuId.ToString()] = (Int32.Parse(cookie.Values[skuId.ToString()]) + quanlity).ToString();

cookie.Expires = DateTime.Today.AddDays(30);

Response.Cookies.Add(cookie);

}

}

}

#endregion

}

#endregion

#region 更新购物车

public void UpdateShoppingCart(int skuId, int quanlity)

{

HttpCookie cookie = HttpContext.Current.Request.Cookies["myCart"];

Sku skuOne = CommodityInfoManager.GetSkuOneBySkuId(skuId.ToString());

var reg = Session["userInfo"] as Registration;

if(reg != null)//登入用户账号时,直接修改数据库中的购物车的数量

{

ShoppingCarInfoManager.UpdateShoppingCartBySkuIdAndRegisterId(skuId, reg.RegisterId, quanlity);

}

else

{

cookie.Values[skuId.ToString()] = quanlity.ToString();//更新cookie中某一项的对应的cookie的值

cookie.Expires = DateTime.Today.AddDays(30);

Response.Cookies.Add(cookie);

}

}

#endregion

#region 删除购物车某一个商品

public void DeleteSkuId(int skuId, out int cookiState)

{

cookiState = 1;

HttpCookie cookie = HttpContext.Current.Request.Cookies["myCart"];

var reg = Session["userInfo"] as Registration;

#region 登录账号

if (reg != null)

{

ShoppingCart shoppingCart = ShoppingCarInfoManager.GetShoppingCartById(skuId, reg.RegisterId);

if (shoppingCart != null)

{

ShoppingCarInfoManager.DeletedShoppingCartBySkuIdAndRegisertId(skuId, reg.RegisterId);

}

}

#endregion

#region 未登录账号

else

{

if(cookie != null)

{

if(cookie.Values.AllKeys.Length != 1)//判断cookie里有很多的键值对

{

if(cookie.Values.AllKeys.Contains(skuId.ToString()))

{

cookie.Values.Remove(skuId.ToString());//移除cookie中指定的某一项

cookie.Expires = DateTime.Today.AddDays(30);

Response.Cookies.Add(cookie);

}

}

else

{

cookie.Expires = DateTime.Now.AddDays(-1);//清除cookie

cookiState = 0;

Response.Cookies.Add(cookie);

}

}

}

#endregion

}

#endregion

#region 清空购物车

public void DeletedShoppingCart(out int cookiState)

{

cookiState = 1;

HttpCookie cookie = HttpContext.Current.Request.Cookies["myCart"];

var reg = Session["userInfo"] as Registration;

if (reg != null)//清除购物车

{

List<ShoppingCart> shoppingCarts =ShoppingCarInfoManager.GetShoppingCartsByRegisterId(reg.RegisterId);

foreach (var r in shoppingCarts)

{

ShoppingCarInfoManager.DeletedShoppingCartBySkuIdAndRegisertId(r.SkuId, reg.RegisterId);

}

}

else //清除cookie

{

if (cookie != null)

{

cookie.Expires = DateTime.Now.AddDays(-1);

cookiState = 0;

Response.Cookies.Add(cookie);

}

}

}

#endregion

如果觉得《ASP.NET购物车Cookie获取 创建 添加 更新 删除的用法》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。