现在要做一个选购记录:
用户(匿名)选中一个商品后继续选择其他的商品,最后将所有的商品记录作为一个订单号来存放,那位大侠帮忙出点程序
先谢谢了!
自己想法:
我想用session 来存储全部放在一个数据当中,然后从数据当中取出所有的产品最终生成一个订单,问题现在怎么把session 加入到数组当中啊,有点迷茫,或许有其它好的想法大家都可以说说,最好能提供一个实例就更好了,谢了!
用户(匿名)选中一个商品后继续选择其他的商品,最后将所有的商品记录作为一个订单号来存放,那位大侠帮忙出点程序
先谢谢了!
自己想法:
我想用session 来存储全部放在一个数据当中,然后从数据当中取出所有的产品最终生成一个订单,问题现在怎么把session 加入到数组当中啊,有点迷茫,或许有其它好的想法大家都可以说说,最好能提供一个实例就更好了,谢了!
解决方案 »
- 系统自带的dialog设置
- 哪位大哥有关系c#接口 解耦 的实例啊!
- 寻一个控件,谢谢大家。(类似excle,又类似gridview,每个单元格绑定数据库字段中的值,可以直接修改,指定位置运算等等)
- ItemTemplate中如何使用cs代码控制记录输出呢
- 帮忙看一下这个错误是怎么引起的?
- 非常苦恼的问题,谁能帮我搞定他啊?
- (100分跪求)如何读取存储过程的输出参数
- 大家讨论一下关于。NET连接数据库的性能问题
- 请教一个用正则表达式分析网页的问题!!
- 各位高手,Application怎么用阿?
- 菜鸟问题: 请问Page_LoadComplete等价于客户端当前页面下载完毕么? 谢谢
- asp.net可以拿到另一台机器的共享文件吗
但我觉得数组不好 你应该放在 DATATABLE中 然后把DATATABLE 放在session中
不少网站,匿名用户可以购物的,其实用Cookie做购物车更有效率,我前几天用JS做了一个。//购物小车 Start ################################################################
function Cart(){
var warelist,wares; var name = "wares";var hours = 1;
InitCart();
//私有函数 ---------------------------------------------------------------
function InitCart(){
var re=new RegExp(name+"=([^;]*);?","gi");
var r=re.exec(document.cookie)||[]; //读取COOKIES
warelist = r.length>1?r[1]:"" ;
if(warelist.length>0) wares = warelist.split("&");
if(!wares) wares = new Array();
}
function SaveCart(){ //保存购物清单
warelist = wares.join("&");
var expire = new Date((new Date()).getTime() + hours * 3600000);
expire = "; expires=" + expire.toGMTString();
document.cookie = name+"=" + warelist + expire;
}
//购物车里的商品 ---------------------------------------------------------------
this.Wares = wares;
//公共函数 ---------------------------------------------------------------
this.FindWare = function(id){
var index = -1;
for(var i=0;i<wares.length;i++){
if(wares[i].split("|")[0] == id){ index = i;break;}
}
return index;
}
this.DelWare = function(id){ //删除商品
var index = this.FindWare(id);
if(index>=0){ wares.splice(index,1); SaveCart();}
}
this.AddWare = function(id,name,price,num,range){ //添加商品。range 购买数量范围
var index = this.FindWare(id);
if(index<0) wares.push(id+"|"+escape(name)+"|"+price+"|"+num+"|"+range);
else{
var oldnum = parseInt( wares[index].split("|")[3] );
wares[index] = id+"|"+escape(name)+"|"+price+"|"+ ( oldnum + parseInt(num) ) +"|" + range; }
SaveCart();
}
this.AlterCount = function(id,num){ //变更数量
var index = this.FindWare(id); if(index<0) return ;
wareinfo = wares[index].split("|"); wareinfo[3] = num; wares[index] = wareinfo.join("|");
SaveCart();
}
this.Clear = function(){ wares= new Array();SaveCart(); }
}
//购物小车 End #################################################################
取值的话这样取
function InitCartPanel(){
cart = new Cart(); var list = document.getElementById("warelist");
var wareInfo; var i=0,value=0; //商品行号,总价
for(;i<cart.Wares.length;i++){
wareInfo = cart.Wares[i].split("|");
var newRow = list.insertRow(i+1);
newRow.insertCell(0).innerHTML = unescape(wareInfo[1]); //三列:名,价,数
newRow.insertCell(1).innerHTML = wareInfo[2]+"¥";
newRow.insertCell(2).innerHTML = wareInfo[3];
newRow.insertCell(3).innerHTML = "<a href=\"#\" onclick=\"SwitchStatus(this);return false;\">修改数量</a>" //ie6下javascript:void(0)会导致字体异常
+ " <a href=\"#\" onclick=\"DelFromCart(this);return false;\">删除</a>"
+ "<a href=\"#\" onclick=\"SwitchStatus(this);return false;\" style=\"display:none\">取消</a>"
+ "<input type=\"hidden\" value="+ wareInfo[0] +" />" + "<input type=\"hidden\" value="+ wareInfo[4] +" />";
if(i%2) newRow.style.background = "#D0D0FF";
value = value + parseInt(wareInfo[2])*wareInfo[3];
}
}
session("a")="衣服"
session("b")="书"
session("c")="TT"
session("d")="YY"
list<int,string> a=new list<int,string>
//保存到泛型集合
a.add(1,'"+session("a")+"')
a.add(2,'"+session("b")+"')
a.add(3,'"+session("c")+"')
a.add(4,'"+session("d")+"')读取 a["a"]="衣服"
a["b"]="书"
第一种,匿名用户的购物车信息你可以放到Session或者Cookie.当用户结算时将session或者Cookie信息保存到数据库。在网上有好多这样的范例。
第二种是将匿名用户的购物车信息可以放到数据库中,Petshop4.0就是这样实现的。
同时我这里有一个现成的例子。不过是pdf(英文版,但是能看得懂)文件,内容比较多,如果你想要可以留下邮件地址。给你发过去。
public class shoping{
public apparel{
get;set;
}
public breeches{
get;set;
}
//等
}
有了这个之后就是
吧他放到你想要放的地方,如session
Session.Add("",new shoping{apparel=“衣服”,breeches=“短裤”});
结账时候判断一下sessionid