ASP.NET购物车实现分析

如何在购物车中存储数据?

cart=new datatable();

 

购物车相关代码


/// <summary>
/// 新建购物车
/// </summary>
public void BuildCart(Product product) {
DataTable cart
= new DataTable();
DataColumn[] dc
= new DataColumn[] {
new DataColumn("Id"),
new DataColumn("Name"),
new DataColumn("buyCount"),
new DataColumn("Price"),
new DataColumn("Picture"),
new DataColumn("Number"),
new DataColumn("SellNumber")
};
cart.Columns.AddRange(dc);
BuildSession(cart, product);
}

/// <summary>
/// 添加新商品
/// </summary>
/// <param name="cart"></param>
public void BuildSession(DataTable cart, Product product) {
DataRow dr
= cart.NewRow();
dr[
0] = product.Id;
dr[
1] = product.Name;
dr[
2] = "1";
dr[
3] = product.Price;
dr[
4] = product.Picture;
dr[
5] = product.Number;
dr[
6] = product.SellNumber;
cart.Rows.Add(dr);
HttpContext.Current.Session[SESSION_CAR]
= cart;
}

public DataTable GetCar() {
if (HttpContext.Current.Session[SESSION_CAR] != null) {
DataTable car
= HttpContext.Current.Session[SESSION_CAR] as DataTable;
return car;
}
else {
return null;
}
}

/// <summary>
/// 计算总价
/// </summary>
/// <param name="cart"></param>
public double TotalPrice(DataTable cart) {
double total = 0;
foreach (DataRow dr in cart.Rows) {
total
+= Convert.ToDouble(dr["Price"]) * (Convert.ToInt32(dr[2].ToString()));
}
return total;
}

 

posted on 2010-08-23 17:27  Henry_Wang  阅读(458)  评论(0编辑  收藏  举报

导航