当前位置:编程学习 > C#/ASP.NET >>

C# 怎么做购物车

现在不知道如何下手。。请高手给个思路
最好 给个参与资料  是基于access数据 库的
--------------------编程问答-------------------- 用session,把所选物品放入其中
每次填加都要判断session中物品是否已存在
如果没有,新加一个,如果有在数量上加一个

也就是说,在没有付款前所有操作都是基于session中的

--------------------编程问答-------------------- 购物车操作类

public class ShoppingCart : System.Web.UI.Page
{
    B_product Bproduct = new B_product();
//所有
    public List<Cart> getAll()
    {
        List<Cart> list = new List<Cart>();
        if (Session["Cart"] == null)
        {
            list = null;

        }
        else
        {
            list = Session["Cart"] as List<Cart>;
        }
        return list;
    }
//增加
    public List<Cart> getCart(Cart c)
    {
        List<Cart> list = new List<Cart>();
        if (Session["Cart"] == null)
        {
            list.Add(c);
            Session["Cart"] = list;
            Session.Timeout = 60;

        }
        else
        {
            list = (List<Cart>)Session["Cart"];
            bool yn = false;
            for (int i = 0; i < list.Count; i++)
            {
                if (list[i].Products.Id == c.Products.Id)
                {
                    list[i].Count += c.Count;
                    list[i].Price = list[i].Count * list[i].Products.ProductPrice;
                    Session["Cart"] = list;
                    yn = true;
                }
            }
            if (yn == false)
            {
                list.Add(c);
                Session["Cart"] = list;
            }
        }
        return list;
    }
//删除
    public List<Cart> getDeleCart(Cart c)
    {
        List<Cart> list = new List<Cart>();
        list = (List<Cart>)Session["Cart"];
        for (int i = 0; i < list.Count; i++)
        {
            if (list[i].Products.Id == c.Products.Id)
            {
                list.Remove(c);
                Session["Cart"] = list;
            }
        }
        return list;
    }
//更新
    public List<Cart> getUpdaCart(Cart c)
    {
        List<Cart> list = new List<Cart>();
        list = (List<Cart>)Session["Cart"];
        for (int i = 0; i < list.Count; i++)
        {
            if (list[i].Products.Id == c.Products.Id)
            {
                list[i].Count = c.Count;
                list[i].Price = c.Price;
                Session["Cart"] = list;
            }
        }
        return list;
    }
}
--------------------编程问答-------------------- 购物车实体类

public class Cart
{
    private product _Products;//产品

    public product Products
    {
        get { return _Products; }
        set { _Products = value; }
    }
    private int _Count;//购买数量

    public int Count
    {
        get { return _Count; }
        set { _Count = value; }
    }
    private double _Price;//单品总价
    public double Price
    {
        get { return _Price; }
        set { _Price = value; }
    }
}
--------------------编程问答-------------------- 用 cookies 也不错,关机开机后,购物车东西还在,不过换了电脑后就没了,新蛋和京东好像都是cookies --------------------编程问答-------------------- 用DataTable实现临时购物车,
最好采用数据库来存放,当你下次登录进来的时候,能看到原来选购的东西。 --------------------编程问答-------------------- cookies吧 
Session 感觉不是很好用
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,