方法一:通过创建一个没有内容的窗体
后台:
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() }); } } }