现在的位置: 首页 > 综合 > 正文

asp.net购物车实现——-结合session方式

2013年10月31日 ⁄ 综合 ⁄ 共 1952字 ⁄ 字号 评论关闭

/// <summary>
    /// 购买
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void imgbtn_Buy_Click(object sender, ImageClickEventArgs e)
    {
        if (Session["CurrentUser"] != null)
        {
            if (Session["Cart"] == null)
            {
                this.BuildCart();
            }
            else
            {
                DataTable cart = Session["Cart"] as DataTable;
                if (this.ExistBook(cart))
                {
                    this.BuildSession(cart);
                }               
            }
            Response.Redirect(@"Cart.aspx");
        }
        else
        {
            Response.Redirect(@"Membership/UserLogin.aspx");
        }
    }
    /// <summary>
    /// 已有图书
    /// </summary>
    /// <param name="cart"></param>
    /// <returns></returns>
    public bool ExistBook(DataTable cart)
    {
        foreach (DataRow dr in cart.Rows)
        {
            if (dr["BookName"].ToString().Equals(this.lblBookName.Text.Trim()))
            {
                dr["Number"] = Convert.ToInt32(dr["Number"]) + 1;
                Session["Cart"] = cart;
                Response.Redirect("Cart.aspx");
            }
        }
        return true;
    }
    /// <summary>
    /// 新建购物车表
    /// </summary>
    public void BuildCart()
    {
        DataTable cart = new DataTable();
        cart.Columns.Add("BookId");
        cart.Columns.Add("BookName");
        cart.Columns.Add("Number");
        cart.Columns.Add("UnitPrice");
        cart.Columns.Add("ImageUrl");

        this.BuildSession(cart);
    }
    /// <summary>
    /// 添加新书
    /// </summary>
    /// <param name="cart"></param>
    public void BuildSession(DataTable cart)
    {
        DataRow dr = cart.NewRow();
        dr["BookId"] = ViewState["BookId"].ToString();
        dr["BookName"] = this.lblBookName.Text.Trim();
        dr["Number"] = "1";
        dr["UnitPrice"] = this.lblPrice.Text.Substring(0, this.lblPrice.Text.Length - 1); ;
        dr["ImageUrl"] = this.lblISBN.Text.Trim();
        cart.Rows.Add(dr);
        Session["Cart"] = cart;
    }  

 

我写的比较简单,没有考虑更改和删除订单的情况。

但是购物车的基本实现已经完成。

抱歉!评论已关闭.