ASP.NET MVC Ajax 购物车的实现
2017-04-14 18:29
447 查看
该购物车是用 Ajax 访问 Control 内的方法做的, 因此会频繁访问数据库(反真我做的是毕业设计。。。哈哈)其实,对于以前熟悉 了webforms 的我来说,要用新的思路做东西,我的内心是拒绝的。。1.购物车表图2.AJAX 访问Control
var jsonData = "{\"albumId\":\"" + $("#_number").text() + "\", \"quantity\":\""+ $("#qunatity").val() + "\"}";//购买量+专辑ID $.ajax({ type:"post", dataType: "text", contentType: "application/json", url: "/Cart/CartAdd",//访问的方法 data: jsonData, success: function (data) { alert(data); }, //error: function (XMLHttpRequest, textStatus, errorThrown) { // alert(XMLHttpRequest.status); // alert(XMLHttpRequest.readyState); // alert(textStatus); //} });3.Control 对应方法
[HttpPost] public string CartAdd(string albumId,string quantity//一直不明白怎么才能接收JSON 并解析,求大神教育 { int Id = int.Parse(albumId); int num = int.Parse(quantity); int cartid=0; string username = Session["username"].ToString(); tb_cartDetails cartDetail = new tb_cartDetails(); int storage = (from al in musicDB.tb_album where al.albumId == Id select al.leftNum).Single(); if (num >storage||num==storage) return "库存不足,无法完成添加"; SqlParameter uname = new SqlParameter("@username", username); var cart = musicDB.Database.SqlQuery<tb_cart>( "exec proc_userid @username", uname ).Single(); cartid = cart.cartId; int count = musicDB.tb_cartDetails.Where(cd=>cd.cartId==cartid).Count();//判断购物车内物品是否有物品 if (count == 0) { try { cartDetail.cartId = cartid; cartDetail.albumId = Id; cartDetail.quantity = num; musicDB.tb_cartDetails.Add(cartDetail);//不存在则添加 musicDB.SaveChanges(); } catch(Exception e) { throw e; } } else { int c = (from cd in musicDB.tb_cartDetails where cd.cartId==cartid&&cd.albumId==Id select cd).Count(); if (c > 0) { try { var album = musicDB.tb_cartDetails.Where(aid => aid.albumId == Id).Single();//已存在物品,则对应物品数量更新 album.quantity += num; musicDB.SaveChanges(); } catch (Exception e){ throw e; } } } return "商品添加成功";
相关文章推荐
- jQuery + ASP.NET MVC Ajax的简单实现
- 如何让你的ASP.NET MVC项目实现AJAX
- Asp.NET误人子弟教程:在MVC里面结合JQ实现AJAX
- ASP.NET MVC + Jquery 实现Ajax下拉框数据三级联动
- 实现Asp.net MVC中AjaxOnly特性
- 实现Ajax增强用户体验ASP.NET MVC 3
- asp.net mvc cooike 购物车 如何实现
- 用Fine Uploader+ASP.NET MVC实现ajax文件上传[代码示例]
- Asp.Net Mvc 使用jQuery实现Ajax文件上传
- [代码示例]用Fine Uploader+ASP.NET MVC实现ajax文件上传
- [转]自定义ASP.NET AJAX拖放功能示例程序:实现IDragSource和IDropTarget接口将商品拖放至购物车中
- Asp.net Mvc Preview 5 体验--实现ActionSelectionAttribute来判断是否为AJAX请求而选择不同的Action
- 在Asp.net MVC使用thickbox实现调用页面的Ajax更新
- Asp.NET误人子弟教程:在MVC里面结合JQ实现AJAX
- ASP.NET MVC + Jquery 实现Ajax下拉框数据三级联动
- dhl:ASP.NET MVC + Jquery实现Ajax下拉框数据2或3级联动(+用户控件)
- ASP.NET MVC 音乐商店 - 8. 使用 Ajax 更新的购物车
- ASP.NET MVC + Jquery 实现Ajax下拉框数据三级联动
- 自定义ASP.NET AJAX拖放功能示例程序:实现IDragSource和IDropTarget接口将商品拖放至购物车中
- 一个非常简单的 ASP.NET MVC 示例:长轮询(又叫:反向 AJAX,英文名:Comet)实现