asp学习网: 首页 >> asp.net >> asp.net+JS+COOKIES实现健壮的购物车

asp.net+JS+COOKIES实现健壮的购物车


如果你已经看明白了上面的购物车添加商品的JS代码,那么你应该知道我们将如何来读取购物车内的物品了。前面我提到过带有子键的COOKIES,大家知道ASP.NET中,COOKIES是可以分组的,结构类似于:
["A1"]["11111"]
["A1"]["22222"]
["A1"]["33333"]
上面的A1是一个COOKIES组,后面的111,222分别是这个组下面的子键,之前我们的JS在增加商品进入COOKIES的时候就是这样来存储的。每个商品的ID作为一个子键,然后商品的其他属性即为该子键的COOKIES值。那么你可能想问:多个属性是怎么存储的呢?很简单,直接把多个属性值用"|"隔开即可。
["carList"]["120"]="充气娃娃|5|500.50|cqww.jpg" //就类似于这种结构了

以下给出ASP.NET来读取购物车中所有物品的代码,其实就那么一小段:


public ArrayList GetItems()
{
HttpCookie c = HttpContext.Current.Request.Cookies["carList"];

ArrayList items = new ArrayList();
for (int i = 0; i < c.Values.Count; i++)
{
string[] vals = c.Values.Split('|');
MY_Shop.Model.CShoppingCartItem item = new MY_Shop.Model.CShoppingCartItem();
item.ProductID = int.Parse(vals[0]);
item.Quantity = int.Parse(vals[1]);
item.ProductName = HttpContext.Current.Server.UrlDecode((string)vals[2]);
item.ImgUrl = HttpContext.Current.Server.UrlDecode((string)vals[3]);
item.Price_s = decimal.Parse(vals[4]);
items.Add(item);
}
return items;
}
了解三层开发的朋友应该知道,上面代码中的MY_Shop.Model.CShoppingCartItem类实际上就是个实体类。为了不让新手感到迷惑,下面贴出实体类的代码:


using System;
namespace MY_Shop.Model
{
public class CShoppingCartItem : IShoppingCartItem
{
private int intProductID;
private string strProductName;
private string strImgUrl;
private int intQuantity;
private decimal decPrice_s;
public int ProductID
{
get
{
return intProductID;
}
set
{
intProductID = value;
}
}
public string ProductName
{
get
{
return strProductName;
}
set
{
strProductName = value;
}
}
public string ImgUrl
{
get
{
return strImgUrl;
}
set
{
strImgUrl = value;
}
}
public int Quantity
{
get
{
return intQuantity;
}
set
{
intQuantity = value;
}
}
public decimal Price_s
{
get
{
return decPrice_s;
}
set
{
decPrice_s = value;
}
}
}
}

from:asp学习网/title:asp.net+JS+COOKIES实现健壮的购物车/ time:2007-11-30 0:34:35

本文主题COOKIE,购物车

asp设置cookies过期时间的方法

ASP Cookies应用入门

又一个javascript与cookie的例子

在JavaScript中读取Cookie的一个问题

javascript中Cookie的读写

js读取服务器Cookies时候中文编码问题

使用代码为入门学习者介绍asp中的cookies的基本使用方法

松子谈ASP中的Cookies

asp教程 ©2006-2007 aspxuexi.com | 关于站点 | 版权隐私 | 站内搜索
复制或者翻版 请于夜间进行