首页 新闻 会员 周边 捐助

购物车设计与实现

0
悬赏园豆:30 [待解决问题]

将存在购物车中的数据取出来做订单部分,购物车是用session做的,数据没有存在数据库中,要怎么取?

杨杨昵的主页 杨杨昵 | 初学一级 | 园豆:93
提问于:2015-10-29 21:10
< >
分享
所有回答(4)
1

那就从session中取出制成订单啊,订单存入数据库,,哪里还问题莫

苏幕遮soft | 园豆:401 (菜鸟二级) | 2015-10-29 21:23

我以前从来没有用过session,所以就连传值都不会,我不知道怎么取,能具体点给出方案吗?来段代码,或者我把我购物车的代码发给你你参考着帮我写一下,拜托

支持(0) 反对(0) 杨杨昵 | 园豆:93 (初学一级) | 2015-10-29 21:26

@杨杨昵:中先获取session :
HttpSession session = request.getSession(true);

在seesion中存值:

获取到的信息用session.setAttribute(key, value)存上

取值:
获取的时候 session.getAttribute(key)取出

支持(0) 反对(0) 苏幕遮soft | 园豆:401 (菜鸟二级) | 2015-10-29 21:39

@苏幕遮soft: 这个值取出来就可以直接存到订单表中吗?这个是后台代码,还是在源代码中写,你有没有实例给我一个,初学者没办法,需要更具体代码参考

支持(0) 反对(0) 杨杨昵 | 园豆:93 (初学一级) | 2015-10-29 22:25

@杨杨昵: 是不是需要一个session类

支持(0) 反对(0) 杨杨昵 | 园豆:93 (初学一级) | 2015-10-29 22:36

@杨杨昵: 把每条购物车数据放到一个实体中,session里面放list<实体>对应的json格式字符串

支持(0) 反对(0) 唯我独萌 | 园豆:537 (小虾三级) | 2015-10-30 09:21
0

Java Web?.net?

jello chen | 园豆:7336 (大侠五级) | 2015-10-29 22:17

不是,是ASP.net

支持(0) 反对(0) 杨杨昵 | 园豆:93 (初学一级) | 2015-10-29 22:21

@杨杨昵: 那直接可通过索引访问呀

支持(0) 反对(0) jello chen | 园豆:7336 (大侠五级) | 2015-10-29 22:49

@jello chen: 我是初学者,从来没用过,你说的通过索引访问是怎么做的,给段具体的代码吧

支持(0) 反对(0) 杨杨昵 | 园豆:93 (初学一级) | 2015-10-29 22:51
0

看你上个问题是用DataTable存数据的.  所以我们假设 某个DataTable dt是你的购物车数据. 你存Session的时候是这样存的.

Session["Cart"]= dt.

那么你取购物车的数据 就是这样取.

var data=(DataTable)Session["Cart"]; 

李丶GuanYao | 园豆:1228 (小虾三级) | 2015-10-30 08:13

这种方式怎样将数据存到数据库中啊?  

支持(0) 反对(0) 杨杨昵 | 园豆:93 (初学一级) | 2015-10-30 11:33

@杨杨昵: 

将data的数据获取出来就好了啊.~

循环data的数据. 

例如data里面有Cart_Num列. 要获取Cart_Num列的数据就是这样循环获取.:

for (int i = 0; i < data.Rows.Count; i++)
{
  var cart_Num= data.Rows[i]["Cart_Num"]; 

  //在循环中获取到具体数据之后. 插入数据库就可以了.
}

支持(0) 反对(0) 李丶GuanYao | 园豆:1228 (小虾三级) | 2015-10-30 12:09

@李丶GuanYao: 能不能再具体点,我做购物车时用session[Cart],然后跳转到订单页面是直接链接还是需要些单击事件,还有一个问题是在订单后台页面取值的时候要不要在创建一个订单表然后再取值,不要描述,直接给段代码参考,你的描述我看了后写不出代码来,订单表用GrivdView来做

支持(0) 反对(0) 杨杨昵 | 园豆:93 (初学一级) | 2015-10-30 13:58

@杨杨昵: 

... 我也不好给代码... 因为我不知道你Session里面具体数据.  也不知道你在订单页面需要什么数据...

1. 你从购物车跳转到订单页面.  不管是链接还是单击事件. 肯定要跳转的..

2. 你问要不要创建一个订单表?. 这个我不是很明白. 你数据库里面肯定有订单表了吧.. 

3. 根据淘宝的那种模式..  你跳转到订单页面肯定还要显示出来的. 那就是

    var dt=(DataTable)Session["Cart"];

    GridView.DataSource=dt;

4. 根据淘宝那种模式.. 提交订单的时候. 肯定是要将数据存入数据库的. 那么只要将Session 里面的数据进行遍历. 取出来, 然后存入数据库就可以了.

  for (int i = 0; i < data.Rows.Count; i++)

  {
    var cart_Num= data.Rows[i]["Cart_Num"]; 

    //在循环中获取到具体数据之后. 插入数据库就可以了.
  }

5. 如果你还是不知道怎么做...还是去请教同事吧...

支持(0) 反对(0) 李丶GuanYao | 园豆:1228 (小虾三级) | 2015-10-30 14:22
0

你存了session,那直接就可以获取到session呀,如你存入Session["try"]=1,那在另外的页面直接string 参数=session["try"].ToString()就是了

如此低调的男人 | 园豆:842 (小虾三级) | 2015-10-30 09:54

能具体给段代码吗?描述性的我看了也写不出来

支持(0) 反对(0) 杨杨昵 | 园豆:93 (初学一级) | 2015-10-30 14:00
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册