使用cookie实现购物车
2013-11-20 10:18
411 查看
下面的代码将商品添加到cookie中,这里就不再编写添加商品到购物车的页面流程,而是直接使用代码实现
HttpCookie cookie = new HttpCookie("shop");
//cookie.values集合能够存储多个键值对,其中add方法的第一个参数是商品编号,第二个参数是商品名称和价格,中间用都好分隔。
cookie.Values.Add("1", "电脑,2000");
cookie.Values.Add("2", "电视,2200");
cookie.Values.Add("3", "冰箱,2300");
cookie.Expires = DateTime.Now.AddDays(1);
Response.Cookies.Add(cookie);
好,上面已经将购买的商品添加到购物车中。其中使用了cookie的values集合,第一个参数是商品编号,第二个参数是商品名称和价格。
第二步是显示购物车
/// <summary>
/// 显示购物车
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Button2_Click(object sender, EventArgs e)
{
LoadShop();
}
//显示购物车
private void LoadShop()
{
//首先判断名称为"shop"的cookie是否存在
if (Request.Cookies["shop"] != null)
{
HttpCookie cookie = Request.Cookies["shop"];
StringBuilder sb = new StringBuilder();
sb.Append("<table>");
//便利此cookie的values集合,取出每一个键值对
for (int i = 0; i < cookie.Values.Count; i++)
{
sb.Append("<tr>");
sb.Append("<td>");
sb.Append("<a href=WebForm5.aspx?id=" + cookie.Values.AllKeys[i] + ">删除<a/>");
sb.Append("</td>");
sb.Append("<td>");
//获取每个键值对中的值
string[] shops = cookie.Values[i].Split(',');
//获取商品名称
sb.Append("<td>" + shops[0] + "</td>");
//获取商品价格
sb.Append("<td>" + shops[1] + "</td>");
sb.Append("</td>");
sb.Append("</tr>");
}
sb.Append("</table>");
mydiv.InnerHtml = sb.ToString();
}
}
其中注释已经写的很清楚了。
第三步是删除购物车中商品
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
if (!string.IsNullOrEmpty(Request.QueryString["id"]))
{
string id = Request.QueryString["id"];
DeleteShop(id);
}
}
}
private void DeleteShop(string id)
{
if (Request.Cookies["shop"] != null)
{
HttpCookie cookie = Request.Cookies["shop"];
cookie.Values.Remove(id);
if (cookie.Values.Count == 0)
{
cookie.Expires = DateTime.Now.AddDays(-1);
}
Response.Cookies.Add(cookie);
LoadShop();
}
}
HttpCookie cookie = new HttpCookie("shop");
//cookie.values集合能够存储多个键值对,其中add方法的第一个参数是商品编号,第二个参数是商品名称和价格,中间用都好分隔。
cookie.Values.Add("1", "电脑,2000");
cookie.Values.Add("2", "电视,2200");
cookie.Values.Add("3", "冰箱,2300");
cookie.Expires = DateTime.Now.AddDays(1);
Response.Cookies.Add(cookie);
好,上面已经将购买的商品添加到购物车中。其中使用了cookie的values集合,第一个参数是商品编号,第二个参数是商品名称和价格。
第二步是显示购物车
/// <summary>
/// 显示购物车
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Button2_Click(object sender, EventArgs e)
{
LoadShop();
}
//显示购物车
private void LoadShop()
{
//首先判断名称为"shop"的cookie是否存在
if (Request.Cookies["shop"] != null)
{
HttpCookie cookie = Request.Cookies["shop"];
StringBuilder sb = new StringBuilder();
sb.Append("<table>");
//便利此cookie的values集合,取出每一个键值对
for (int i = 0; i < cookie.Values.Count; i++)
{
sb.Append("<tr>");
sb.Append("<td>");
sb.Append("<a href=WebForm5.aspx?id=" + cookie.Values.AllKeys[i] + ">删除<a/>");
sb.Append("</td>");
sb.Append("<td>");
//获取每个键值对中的值
string[] shops = cookie.Values[i].Split(',');
//获取商品名称
sb.Append("<td>" + shops[0] + "</td>");
//获取商品价格
sb.Append("<td>" + shops[1] + "</td>");
sb.Append("</td>");
sb.Append("</tr>");
}
sb.Append("</table>");
mydiv.InnerHtml = sb.ToString();
}
}
其中注释已经写的很清楚了。
第三步是删除购物车中商品
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
if (!string.IsNullOrEmpty(Request.QueryString["id"]))
{
string id = Request.QueryString["id"];
DeleteShop(id);
}
}
}
private void DeleteShop(string id)
{
if (Request.Cookies["shop"] != null)
{
HttpCookie cookie = Request.Cookies["shop"];
cookie.Values.Remove(id);
if (cookie.Values.Count == 0)
{
cookie.Expires = DateTime.Now.AddDays(-1);
}
Response.Cookies.Add(cookie);
LoadShop();
}
}
相关文章推荐
- jQuery使用cookie与json简单实现购物车功能
- SpringMVC使用Cookie实现购物车功能
- AJAX实现的购物车,使用Cookie保存。
- jQuery使用cookie与json简单实现购物车功能
- Cookie的使用及保存中文并用Cookie实现购物车功能
- 简单3步 js使用cookie实现的购物车功能[原创]
- php使用cookie实现购物车
- jQuery使用cookie与json简单实现购物车功能
- cookie的使用,并用cookie实现购物车功能
- 【JSP】Cookie的使用及保存中文,并用Cookie实现购物车功能
- Ajax技术实现的购物车,使用Cookie保存。
- Ajax技术实现的购物车,使用Cookie保存。
- Cookie的使用及保存中文并用Cookie实现购物车功能
- 【JSP】Cookie的使用及保存中文,并用Cookie实现购物车功能
- AJAX实现的购物车,使用Cookie保存。
- cookie的详细说明 cookie的使用 c# .net cookie购物车的实现
- jQuery cookie 购物车及其实现
- 1模拟网易邮箱实现全选,全不的功能(服务端和客户端) 2 使用DataList实现 加入购物车,编辑,删除,更新,取消功能。要求连一个产品表。
- JS使用cookie实现DIV提示框只显示一次的方法
- 购物车的实现(cookie、session)