asp.net cookies 购物车
using System;
using System.Collections.Generic;
using System.Text;
using System.Web;
using System.Collections;
namespace LSWY.TOOS
{
public class ShoppingCart
{
HttpCookie cookie;
public ShoppingCart()
{
if (HttpContext.Current.Request.Cookies["ShoppingCart"] == null)
{
cookie = new HttpCookie("ShoppingCart");
}
else
{
cookie = HttpContext.Current.Request.Cookies["ShoppingCart"];
}
cookie.Expires = DateTime.Now.AddHours(3);
}
/// <summary>
///查看购物车是否含有产品
/// </summary>
/// <returns></returns>
public bool isHasPro()
{
return cookie.HasKeys;
}
/// <summary>
/// 购物车是否包含该商品
/// </summary>
/// <param name="proId">商品Id</param>
/// <returns></returns>
public bool isHasPro(int proId)
{
return cookie[proId.ToString()] != null ? true : false;
}
/// <summary>
/// 添加商品
/// </summary>
/// <param name="productId">商品Id</param>
/// <param name="quantity">商品数量</param>
public void AddToShopping(int productId, int quantity)
{
if (isHasPro(productId))
{
string[] pro = cookie[productId.ToString()].Split('|');
int num = Convert.ToInt32(pro[1]) + quantity;
cookie[productId.ToString()] = productId + "|" + num;
}
else
{
cookie[productId.ToString()] = productId + "|" + quantity;
}
HttpContext.Current.Response.Cookies.Add(cookie);
}
/// <summary>
/// 删除商品
/// </summary>
/// <param name="productId">商品Id</param>
public void deleteToShopping(int productId)
{
if (isHasPro(productId))
{
cookie.Values.Remove(productId.ToString());
HttpContext.Current.Response.Cookies.Add(cookie);
}
}
/// <summary>
/// 删除购物车
/// </summary>
public void clearShopping()
{
if (isHasPro())
{
foreach (var name in cookie.Values.AllKeys)
{
cookie.Values.Remove(name);
}
}
cookie.Expires = DateTime.MinValue;
HttpContext.Current.Response.Cookies.Add(cookie);
}
/// <summary>
/// 返回一个列表,列表的每一项是个一维的string数组
/// </summary>
/// <returns></returns>
public ArrayList GetList()
{
ArrayList list = new ArrayList();
if (isHasPro())
{
foreach (var name in cookie.Values.AllKeys)
{
list.Add(cookie[name].Split('|'));
}
}
return list;
}
}
}
浙公网安备 33010602011771号