日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

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

發布時間:2025/6/17 asp.net 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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

轉載于:https://www.cnblogs.com/simpleBlue3/p/3888604.html

總結

以上是生活随笔為你收集整理的ASP.NET购物车Cookie获取,创建,添加,更新,删除的用法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。