Asp.net 实现购物车 怎么将用户一次性所购买的商品成多个记录,比如:用户a——购买十个本子、一个文具盒、一个书包,怎么生成三条记录并且订单号是一样的,我不会啊,麻烦指教一下啊,或是有整个购物的代码也可以发给我,谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 购物车一般都是用session来实现的。我只写过asp的,用vb写的。 http://topic.csdn.net/u/20100624/17/c3791444-a1fe-4cc1-83ed-955085548b8e.html http://www.cnblogs.com/willmeng/archive/2010/03/15/shopcart.html网上搜索一下吧 一大把,自己看懂原理 学着写下 就会了 不太赞同,如果访问量相对低的话建议用SESSION,当然也可以用COOKIES如果访问量很高的话建议使用数据库表直接存储,或用COOKIES我一般使用数据库方式直接存储,结构差不多是这样:1、访问阶段:首先在客户首次访问时生成一组COOKIES标识,标识=ip地址(一共4组数字,获取最后一组3位数字)+当前时间(毫秒,3位数字)+3位随机数。然后标识=AES加密(标识),当然觉得这样组合出来的标识不安全也可以使用其他方法2、购买阶段。表{购物表{商品ID,数量,价格,总价,加入日期,访问标识,访问IP...略},订单表{订单ID,访问标识,订单号,订单支付总价,成交日期,成交状态...略},订单明细{表字段同购物表,但多一个订单表外键字段}} 触发器{在订单表建立delete 触发器,on 订单明细表,条件:订单表.主键=订单明细表.外键} 触发器{在购物表建立delete 触发器,条件:当前日期-成交日期>3,只保留3天内的购物数据}购买书本:加入购物表,其他验证代码略....购买文具:加入购物表...购买书包:加入购物表...3、提交:这时从购物表调出商品数据,条件:(客户端访问标识=购物表.访问标识)&&=(客户端访问IP=购物表.访问IP),统计数据并插入订单表,并获取插入主键ID和订单号,然后将购物数据插入到订单明细中,并将订单号显示给中端===============说明一下:以上在插入和调取数据时首先要解密客户端的访问标识,判断是标识是否为true。再一个就是上面的只针对非会员形式的购买,也就是访客购买方式,如果是必须会员购买那就更简单了,标识=加密(会员ID+其他验证码)就可以了~ /// <summary> /// 传输对象 /// </summary> public class BDto { /// <summary> /// 用户ID /// </summary> public string yhid; /// <summary> /// 所购买物品ID /// </summary> public string wpid; /// <summary> /// 购买数量 /// </summary> public string bnum; /// <summary> /// 订单号 /// </summary> public string ddid; }public void by(){ ArrayList arr = new ArrayList(); for()//循环所有购买记录 { BDto bd = new BDto(); bd.yhid = "";//传入用户ID bd.wpid =""; //传入物品ID bd.bnum =""; //传入数量 bd.ddid=""; //传入订单号 arr.Items.Add(bd);//传入ArrayList } session["这里最好用用户ID"]=arr;//放入session} 请问大家,如何制作一个选择目录的下拉框??(解决给分) 关于linq distinct问题 ******正则***** 【100分】rtf处理!在RichTextbox下汉字变红色 Post提交问题 windows程序中怎么启动微软的outlook 求高手啊~~~~~谢谢~ 更新Winform中的Datagrid的数据时,为什么非要把记录移到另一条才能更新得了? 复制表的结构,成批复制表的记录 combobox 如何实现多列以及自动匹配的功能,谁能提供下代码,2005c# 帮忙解释下这个是什么意思~! datatable 合并单元格
网上搜索一下吧
一大把,自己看懂原理 学着写下 就会了
不太赞同,如果访问量相对低的话建议用SESSION,当然也可以用COOKIES
如果访问量很高的话建议使用数据库表直接存储,或用COOKIES我一般使用数据库方式直接存储,结构差不多是这样:1、访问阶段:首先在客户首次访问时生成一组COOKIES标识,标识=ip地址(一共4组数字,获取最后一组3位数字)+当前时间(毫秒,3位数字)+3位随机数。然后标识=AES加密(标识),当然觉得这样组合出来的标识不安全也可以使用其他方法2、购买阶段。表{购物表{商品ID,数量,价格,总价,加入日期,访问标识,访问IP...略},订单表{订单ID,访问标识,订单号,订单支付总价,成交日期,成交状态...略},订单明细{表字段同购物表,但多一个订单表外键字段}}
触发器{在订单表建立delete 触发器,on 订单明细表,条件:订单表.主键=订单明细表.外键}
触发器{在购物表建立delete 触发器,条件:当前日期-成交日期>3,只保留3天内的购物数据}购买书本:加入购物表,其他验证代码略....
购买文具:加入购物表...
购买书包:加入购物表...3、提交:这时从购物表调出商品数据,条件:(客户端访问标识=购物表.访问标识)&&=(客户端访问IP=购物表.访问IP),统计数据并插入订单表,并获取插入主键ID和订单号,然后将购物数据插入到订单明细中,并将订单号显示给中端===============
说明一下:以上在插入和调取数据时首先要解密客户端的访问标识,判断是标识是否为true。再一个就是上面的只针对非会员形式的购买,也就是访客购买方式,如果是必须会员购买那就更简单了,标识=加密(会员ID+其他验证码)就可以了~
/// <summary>
/// 传输对象
/// </summary>
public class BDto
{
/// <summary>
/// 用户ID
/// </summary>
public string yhid;
/// <summary>
/// 所购买物品ID
/// </summary>
public string wpid;
/// <summary>
/// 购买数量
/// </summary>
public string bnum;
/// <summary>
/// 订单号
/// </summary>
public string ddid;
}public void by()
{
ArrayList arr = new ArrayList();
for()//循环所有购买记录
{
BDto bd = new BDto();
bd.yhid = "";//传入用户ID
bd.wpid =""; //传入物品ID
bd.bnum =""; //传入数量
bd.ddid=""; //传入订单号
arr.Items.Add(bd);//传入ArrayList
}
session["这里最好用用户ID"]=arr;//放入session
}