方法一:通过创建一个没有内容的窗体

后台:

 public partial class Ajax_ShoppingCart : System.Web.UI.Page
    {
        bookdbDataContext bdc = Connect.bookdb();
        protected void Page_Load(object sender, EventArgs e)
        {
            if(!IsPostBack)
            {
                if(Request.Form["method"]!=null)
                {
                    switch (Request.Form["method"].ToString())
                    {
                        //添加商品至购物车
                        case "addToCart":
                            Response.Write(addToCart());
                            break;
                        //获得购物车
                        case "showCart":
                            Response.Write(showCart());
                            break;
                        //从购物车中删除商品
                        case "removeCart":
                            Response.Write(removeCart());
                            break;
                        //减少购物车中某一商品的数量
                        case "redCount":
                            Response.Write(redCount());
                            break;
                        //增加购物车中某一商品的数量
                        case "addCount":
                            Response.Write(addCount());
                            break;
                        default:
                            break;
                    }
                }
            }
        }

        protected string tid
        {
            get
            {
                if (Request.Form["tid"] != null)
                {
                    return Request.Form["tid"].ToString();
                }
                else
                {
                    return "";
                }
            }
        }
        /// <summary>
        /// 添加至购物车
        /// </summary>
        /// <returns></returns>
        protected string addToCart()
        {
            int Count = 0;
            string message = string.Empty;
            if (Request.Form["count"] != null)
            {
                Int32.TryParse(Request.Form["count"].ToString(), out Count);
            }
            if (Count > 5 || Count < 1)
            {
                return JsonConvert.SerializeObject(new { status = 0, message = "书籍数量不对,不能超过5张哦" });
            }
            var tic = bdc.Book.SingleOrDefault(obj => obj.ID == Convert.ToInt32(tid));
            if (tic != null)
            {
                Common.Book t = new Common.Book();
                t.ID = tid;
                t.Count = Count;
                t.Name = tic.Name;
                t.Price = tic.Price;
                int result = ShoppingCartHelper.addCart(t);
                switch (result)
                {
                    case -2:
                        return JsonConvert.SerializeObject(new { status = 0, message = "同一书籍不能购买超过5本哦!" });
                    case 1:
                        return JsonConvert.SerializeObject(new { status = 1, cart = ShoppingCartHelper.getShoppingCart(), message = "成功加入购物车!" });
                    default:
                        return null;
                }
            }
            else
            {
                return JsonConvert.SerializeObject(new { status = 0, message = "不存在此书籍,请您重新选择!" });
            }
        }

        /// <summary>
        /// 获得购物车
        /// </summary>
        /// <returns></returns>
        protected string showCart()
        {
            return JsonConvert.SerializeObject(new { cart = ShoppingCartHelper.getShoppingCart() });
        }

        /// <summary>
        /// 从购物车中移除商品
        /// </summary>
        /// <returns></returns>
        protected string removeCart()
        {
            int result = ShoppingCartHelper.removeCart(tid);
            switch (result)
            {
                case -1:
                    return JsonConvert.SerializeObject(new { status = 0, message = "离开太久啦,购物车已经空空了,您重新购买吧" });
                default:
                    return JsonConvert.SerializeObject(new { status = 1, cart = ShoppingCartHelper.getShoppingCart() });
            }
        }

        /// <summary>
        /// 减少购物车中某一件商品的数量
        /// </summary>
        /// <returns></returns>
        protected string redCount()
        {
            int result = ShoppingCartHelper.reduceCart(tid);
            switch (result)
            {
                case -1:
                    return JsonConvert.SerializeObject(new { status = 0, message = "离开太久啦,购物车已经空空了,您重新购买吧" });
                default:
                    return JsonConvert.SerializeObject(new { status = 1, cart = ShoppingCartHelper.getShoppingCart() });
            }
        }

        /// <summary>
        /// 增加购物车中某一件商品的数量
        /// </summary>
        /// <returns></returns>
        protected string addCount()
        {
            int result = ShoppingCartHelper.addCart(tid);
            switch (result)
            {
                case -1:
                    return JsonConvert.SerializeObject(new { status = 0, message = "离开太久啦,购物车已经空空了,您重新购买吧" });
                default:
                    return JsonConvert.SerializeObject(new { status = 1, cart = ShoppingCartHelper.getShoppingCart() });
            }
        }
    }
后台代码

相关文章: