asp.net用cookie方法写购物车
时间: 2024-02-03 09:01:52 浏览: 74
asp.net + Cookie购物车
3星 · 编辑精心推荐
在 ASP.NET 中,使用 Cookie 来存储购物车信息是一种常见的方法。下面是一个简单的示例,演示如何使用 Cookie 来存储购物车信息:
1. 在添加商品到购物车时,将商品信息存储到 Cookie 中。
```csharp
protected void AddToCart_Click(object sender, EventArgs e)
{
// 获取商品信息
string productId = ProductId.Text;
string productName = ProductName.Text;
decimal price = Decimal.Parse(ProductPrice.Text);
int quantity = Int32.Parse(ProductQuantity.Text);
// 获取购物车信息(如果有的话)
HttpCookie cartCookie = Request.Cookies["Cart"];
if (cartCookie == null)
{
// 如果购物车 Cookie 不存在,创建一个新的 Cookie
cartCookie = new HttpCookie("Cart");
}
// 将商品信息添加到购物车 Cookie 中
string itemString = $"{productId},{productName},{price},{quantity}";
cartCookie.Values[productId] = itemString;
// 设置购物车 Cookie 的过期时间(例如,30 天后过期)
cartCookie.Expires = DateTime.Now.AddDays(30);
// 将购物车 Cookie 添加到响应中
Response.Cookies.Add(cartCookie);
}
```
2. 在显示购物车时,读取购物车信息从 Cookie 中。
```csharp
protected void Page_Load(object sender, EventArgs e)
{
// 获取购物车 Cookie
HttpCookie cartCookie = Request.Cookies["Cart"];
if (cartCookie != null)
{
// 遍历购物车中的商品,并显示在页面上
foreach (string productId in cartCookie.Values.AllKeys)
{
string itemString = cartCookie.Values[productId];
string[] itemArray = itemString.Split(',');
string productName = itemArray[1];
decimal price = Decimal.Parse(itemArray[2]);
int quantity = Int32.Parse(itemArray[3]);
// 在页面上显示商品信息
// ...
}
}
}
```
阅读全文