• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

炼丹炉中的孙悟空

Only For Study
  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

使用Ajax实现购物车(一)

ajax 购物车
我用的是prototype这个js库!所以关于这个东西我就带过,不了解proto的可以去园子里找相关的资料!
首先说添加购物车的东东,用来存放购物车我用的是session,里面存放Arraylist。因为你不知道客户要购买多少东东。所以你不能用数组这种定长的东东。
这里要考虑的问题: 
   1、如果添加购车
   2、如果将重复的物品累计到一起(如我购买了一瓶洗发水,我再购买一瓶就要累积到2)
   3、如何实时的和数据库交互判断库存是否充足。(使用ajax)
其实全部的操作都是使用了ajax操作!
   我们用Session["orders"]来存放购物车
   来看获得购物车的方法:
/**//// <summary>
    
/// 获取购物车中的产品
    
/// author:jake
    
/// bt:080313
    
/// </summary>
    
/// <param name="pName">产品名称</param>
    
/// <param name="pId">产品ID</param>
    
/// <param name="mPrice">市场价格</param>
    
/// <param name="sPrice">事事旺价格</param>
    
/// <param name="pNum">产品数量</param>
    
/// <returns>购物车数组</returns>
    
/// 集合形式为:[产品ID,产品名称,市场价格,网站价格,数量]
    
/// session形式为:集合形式

    public ArrayList getCart(string orders)
    
{
        ArrayList cartal 
= new ArrayList();
        
if (Session["orders"] != null)
        
{
            cartal 
= (ArrayList)Session["orders"];
        }

        
else
        
{
            cartal.Clear();
        }

        
string[] ss = orders.Split(',');
        
if (cartal.Count == 0)
        
{
            cartal.Add(orders);
        }

        
else
        
{
            
bool r = false;
            
for (int i = 0; i < cartal.Count; i++)
            
{
                
string[] sc = cartal[i].ToString().Split(',');
                
if (ss[0].ToString() == sc[0].ToString()) //判断是否重复订单
                {
                    sc[
4] = Convert.ToString(int.Parse(sc[4].ToString()) + int.Parse(ss[4].ToString()));
                    cartal[i] 
= sc[0] + "," + sc[1] + "," + sc[2] + "," + sc[3] + "," + sc[4];
                    r 
= false;
                    
break;
                }

                
else
                
{
                    r 
= true;
                }

            }

            
if (r)
            
{
                cartal.Add(orders);
            }

        }

        
return cartal;
    }

Jake

http://www.shenghuo.cn

转载注明出处!

posted on 2008-04-14 16:31  Jake.SHI  阅读(768)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3