asp.net怎么做购物车?
如题,在一页点击购买后,再点击查看购物车就可以看到里面有刚才购买的东西的信息,这个是什么怎么做的,两个页面之间怎么传值呢?请高手指教,最好有代码解释,谢谢。...
如题,在一页点击购买后,再点击查看购物车就可以看到里面有刚才购买的东西的信息,这个是什么怎么做的,两个页面之间怎么传值呢?请高手指教,最好有代码解释,谢谢。
展开
2013-09-08
展开全部
我的想法是将购买的东西用表保存,再将表保存到session[cart]中 ,点击购买时会有一件商品信息,假设为保存到DataTable中的tab点击购买按钮的click事件:if(session[cart]==null) //如果是第一次购买{ DataTable table=new DataTable(); //动态生成表 DataColumn column1=new DataColumn("GoodsName",typeof(string)); //动态生成列 DataColumn column2=new DataColumn("GoodsPrice",typeof(double)); DataColumn column3=new DataColumn("GoodsNumber",typeof(int)); //假设我的表中只显示商品名称,商品价格,商品数量 table.Columns.add(column1); //将列添加到表中 table.Columns.add(column2); table.Columns.add(column3); DataRow row=table.newRow(); row["GoodsName"]=tab.rows[0]["name"]; //从tab表(只可能是一件商品)中拿到购买的商品名称列 row["GoodsPrice"]=tab.rows[0]["price"]; //从tab表中拿到价格列 row["GoodsNumber"]=1 //第一次购买默认数量就是1件 table.rows.add(row) ; //将row添加到表中 session["cart"]=table; //将表放入到session中}else //第二次购买了{ DataTable shoppingCart=session["cart"]; //从session中拿到table bool b=true; for(DaraRow row in shoppingCart.Rows) { if(row["GoodsName"].toString()==tab[0]["name"].toString()) //判断是否是同一件商品 { row["GoodsNumber"]=convert.toInt32(row["GoodsNumber"])+1; //将数量加上1 session["cart"]=shoppingCart; //重新把表放入session b=false; } } if(b) //没有相同的商品 { DataRow row=shoppingCart.newRow(); row["GoodsName"]=tab[0]["Name"]; row["GoodsPrice"]=tab[0]["price"]; row["GoodsNumber"]=tab[0]["number"] shoppingCart.Rows.add(row); //添加新行 session["cart"]=shoppingCart //同样将表保存到session中 } response.redirect("cart.aspx"); //跳到购物车界面去显示session中的表 }}没有验证,只是凭记忆敲的,如果有问题,我相信你自己也可以解决了;不过不知道符不符合你的要求。我习惯用Session保存表,也可以用集合。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-09-08
展开全部
用Session存
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询