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

急!!!! 急求一个三层结构的asp购物车源码

 急求一个三层结构的asp购物车源码 --------------------编程问答--------------------    protected void ImageButton1_Click(object sender, ImageClickEventArgs e)
    {        
          if (Session["Cart"]== null)      //判断是否存在购物车,若不存在则实例DataTable用以存放商品信息
            {
                DataTable Carttable = new DataTable();  //创建DataTable 
                Carttable.Columns.Add("FlowerID");       //添加DataTable表字段(自定义)
                Carttable.Columns.Add("FlowerISBN");
                Carttable.Columns.Add("FlowerName");
                Carttable.Columns.Add("FlowerPrice");
                Carttable.Columns.Add("CurrentPrice");
                Carttable.Columns.Add("FlowerNumber");

                DataRow dataRow = Carttable.NewRow();     //创建新行用以存放商品实际信息
                Flowers flower = FlowerManager.GetFlowersAllById(id);   //根据用户传来Id检索相应信息
                dataRow["FlowerID"] = id.ToString();                   //给相应字段赋值
                dataRow["FlowerISBN"] = flower.FlowerISBN;
                dataRow["FlowerName"] = flower.FlowerName;
                dataRow["FlowerPrice"] = flower.Price;
                dataRow["CurrentPrice"] = flower.CurrentPrice;
                dataRow["FlowerNumber"] = 1;                //购物数量: 初始为1

                Carttable.Rows.Add(dataRow);                  //把新行添入虚拟表中

                Session["Cart"] = Carttable;                     //再将表保存在Session中
            }
            else
            {
                DataTable Carttable = (DataTable)Session["Cart"] ; //购物车已经存在.则掉用初始虚拟表(DataTable)

                DataRow dataRow = Carttable.NewRow();         //重新创建行
                Flowers flower = FlowerManager.GetFlowersAllById(id);
                foreach (DataRow row in Carttable.Rows)         //循环虚拟表行数,
                {
                    if (row["FlowerID"].Equals(flower.FlowerId.ToString()))//判断是否表中已经存在某商品的信息,.如果存在则给数量+1;若不存在则添加此商品
                    {
                        row["FlowerNumber"]=Convert.ToInt32(row["FlowerNumber"])+1;
                        Session["Cart"] = Carttable;
                        Response.Redirect("ShoppingCart.aspx");   
                    }
                }
                dataRow["FlowerID"] = flower.FlowerId.ToString();
                dataRow["FlowerISBN"] = flower.FlowerISBN;
                dataRow["FlowerName"] = flower.FlowerName;
                dataRow["FlowerPrice"] = flower.Price;
                dataRow["CurrentPrice"] = flower.CurrentPrice;
                dataRow["FlowerNumber"] = 1;

                Carttable.Rows.Add(dataRow);
                Session["Cart"] = Carttable;
            }
       
            Response.Redirect("ShoppingCart.aspx");            
        }
    /// <summary>
    /// 初始购物车
    /// </summary>
    public void GvBind()
    {
        DataTable table = Session["Cart"] as DataTable;
        GridView1.DataSource = table;
             //FlowerManager.GetAllFlowerById(id);
        GridView1.DataBind();
    }

 /// <summary>
    /// 清空购物车
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void ImageButton3_Click(object sender, ImageClickEventArgs e)
    {
        Session.RemoveAll();
        GvBind();
    }
    /// <summary>
    /// 修改数量
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void ImageButton1_Click(object sender, ImageClickEventArgs e)
    {        
        DataTable table = Session["Cart"] as DataTable;
        foreach (DataRow row in table.Rows)
        {   
            string Number =string.Empty;
            foreach (GridViewRow GVR in GridView1.Rows)
            {
                TextBox TB = GVR.FindControl("TextBox5") as TextBox;
                Number = TB.Text;
                if (!row["FlowerNumber"].ToString().Equals(Number))
                {
                    row["FlowerNumber"] = Number;
                }
                else
                {
                    row["FlowerNumber"] = row["FlowerNumber"];
                }
            }
            
        }
        Session["Cart"] = table;
        GvBind();             
    }
    /// <summary>
    /// 删除商品
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
    {
        DataTable table = Session["Cart"] as DataTable;
        table.Rows[e.RowIndex].Delete();
        Session["Cart"] = table;
            GvBind();
    }
    /// <summary>
    /// 删除提示
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        foreach (GridViewRow GVR in GridView1.Rows)
        {
            ImageButton IB = GVR.FindControl("ImageButton5") as ImageButton;
            IB.Attributes.Add("onclick", "return confirm('确定要删除吗?')");
        }
    } --------------------编程问答-------------------- 楼主可以去源代码网站上看看啊。 --------------------编程问答-------------------- ... --------------------编程问答-------------------- DATA,LOGIC,ENTITY!得自己写哟。 --------------------编程问答-------------------- 这个很容易写的啊 。。。 --------------------编程问答--------------------
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,