您的位置:首页 > 编程语言 > ASP

asp.net使用Cookies实现购物车

2014-12-24 22:31 351 查看


asp.net使用Cookies实现购物车

ListInfo.aspx向购物车的添加商品的方法

private void GouWu(string name, double price, string id)

{

//往购物车中添加商品

HttpCookie hc = null;

if (Request.Cookies["ShoppingCart"]
== null)

{

//如果Cookies中不存在ShoppingCart,则创建

hc = new HttpCookie("ShoppingCart");

}

else

{

//如果Cookies中存在ShoppingCart,则取出

hc= Request.Cookies["ShoppingCart"];

}

bool flag=true;//标记在购物车中是否存在本次选择的物品

//在购物车的Cookies中查找是否存在这次要选择的物品

foreach (string item in hc.Values)

{

if (item == id)

{

flag = false;

break;

}

}

if (flag)

{

//如果选择的内容在购物车中没有,则创建一个新的子键

hc.Values.Add(id, id + "|" + name + "|" + price + "|" + 1 + "|");

}

else

{

//如果选择的内容在购物车中没,则删除原来的,添加一个新的

int num = int.Parse(hc.Values[id].Split(new char[] { '|' })[3]) + 1;

hc.Values.Remove(id);

hc.Values.Add(id,id + "|" + name + "|" + price + "|" + num + "|");

}

hc.Expires = DateTime.Now.AddDays(1);

Response.Cookies.Add(hc);

Response.Redirect("ShoppingCart.aspx");

}

在ShoppingCart.aspx页面的Load事件中

List<ShoppingCart>
list = new List<ShoppingCart>();

//循环从购物车中取出物品添加到集合

foreach (string item in Request.Cookies["ShoppingCart"].Values)

{

if (item != null)

{

char[] sp = { '|' };

string[] w = Request.Cookies["ShoppingCart"][item].Split(sp);

ShoppingCart gwc
= new ShoppingCart();

gwc.Id = w[0];

gwc.Name = w[1];

gwc.Price = int.Parse(w[2]);

gwc.Number = int.Parse(w[3]);

list.Add(gwc);

}

}

GridView1.DataSource = list;

GridView1.DataBind();

ShoppingCart类代码

public class ShoppingCart

{

public ShoppingCart()

{

//

//TODO: 在此处添加构造函数逻辑

//

}

string name;

public string Name

{

get { return name; }

set { name = value; }

}

double price;

public double Price

{

get { return price; }

set { price = value; }

}

string id;

public string Id

{

get { return id; }

set { id = value; }

}

int number;

public int Number

{

get { return number; }

set { number = value; }

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: