.net ----DataTable与购物车

来源:互联网 发布:sql server2012图标 编辑:程序博客网 时间:2024/05/22 17:23

最近公司一个站要加没有会员的购物车,就去网上找一下,发现代码还挺多的;

 

自己就去找了一些,现在已经运用到网站去了,虽然简陋了一点,还好能用;

 

购物车------就是用户先选中商品,然后输入要购买的数量,然后进入购物车,这是我本人的思路啊,相信大部分也是这样的吧;

 

我所做的用到了Session,DataTable,关键就是这两个,下面是代码,大家参考一下:

 

前提:有productID(商品ID),Amount(数量)这些值

 

        DataTable dt = new DataTable();

        //如果Session变量存在,则直接获取
        if (Session["cart"] != null)
        {
            dt = (DataTable)Session["cart"];
        }
        else //如果session变量不存在,创建存储数据的表结构
        {
            dt.Columns.Add(new DataColumn("ProductID",typeof(Int32)));
            dt.Columns.Add(new DataColumn("ProductName",typeof(String)));
            dt.Columns.Add(new DataColumn("Amount", typeof(Int32)));
            //dt.Columns.Add(new DataColumn("Total",typeof(Double)));
        }
        //productID不为null
        //则表示选中一件商品添加到购物车
        if(intProductID != 0)
        {
            //先判断购物车中是否存已经存在该商品
            Boolean IsExist = false;
            foreach(DataRow dr in dt.Rows)
            {
                if(dr["ProductID"].ToString() == intProductID.ToString())
                {
                    IsExist = true;
                    break;
                }
            }
            //如果购物车中存在该商品,则提示客户
            //该商品不会被重复添加到购物车
            if (IsExist)
            {
                ScriptManager.RegisterStartupScript(this, typeof(Page), "alertExist", "alert('你选择的商品(编号:" + intProductID.ToString() + ")已在购物车内!", true);
            }
            else
            {
                //DataTable dtRow = bllProducts.GetDataTable(0,null," ChannelID=3 and ProductID= "+intProductID.ToString(),null);
               
                productmodel = bllProducts.GetModel(intProductID);
                TotalPrice = productmodel.Price * intAmount;


                dt.Rows.Add(new object[]{
                    intProductID,
                    productmodel.ProductName,
                    intAmount,
                    //TotalPrice,
                });
            }

        }
        this.gvCart.DataSource = dt;
        this.gvCart.DataBind();

        Session["cart"] = dt;

 

这样就可以了,这是简洁的shopping cart ,有用的话,大家就参考一下........至在于结交天下朋友.!!!!!

 

原创粉丝点击