198 LAP Your Orders @ViewBag.count
Bƣớc 2: Viết lớp hỗ trợ xử lý lưu trữ tạm sản phẩm CartItem Tạo model đặt tên CartItem đặt thư mục Models project với code sau: public class CartItem { public Book productOrder { get; set; } public int Quality { get; set; } } Bƣớc 3: Thêm xử lý Ajax đưa sản phẩm vào giỏ hàng, tạo thẻ đầu trang mua hàng thêm hàm xử lý javascript sau: function AddToCart(BookId) { $.ajax({ type: 'POST', url: '/Book/AddToCart', data: { id: BookId }, success: function (data) { $("#Cart_Amount").html(data.ItemAmount); } }); } Bƣớc 4: Viết hàm xử lý JsonResult BookController để Ajax gọi theo cấu trúc url /Book/AddToCart' sau: Mở BookController thêm vào hàm xử lý sau: [HttpPost] public JsonResult AddToCart(int id) { List listCartItem; //Process Add To Cart if (Session["ShoppingCart"] == null) LAP 199 { //Create New Shopping Cart Session listCartItem = new List(); listCartItem.Add(new CartItem { Quality = 1, productOrder db.Books.Find(id) }); Session["ShoppingCart"] = listCartItem; } else { bool flag = false; listCartItem = (List)Session["ShoppingCart"]; foreach (CartItem item in listCartItem) { if (item.productOrder.BookId == id) { item.Quality++; flag = true; break; } } if (!flag) listCartItem.Add(new CartItem { Quality = 1, productOrder db.Books.Find(id) }); Session["ShoppingCart"] = listCartItem; } //Count item in shopping cart int cartcount = 0; foreach (CartItem item in listCartItem) { cartcount += item.Quality; } return Json(new { ItemAmount = cartcount }); } = = Tới bước bạn kết nhấn vào nút Add To Cart sách sách lưu vào giỏ hàng Tiếp tới lúc trang web request tới user (ở lúc bạn load trang /Book/getListBook) gán giá trị đếm số lượng sản phẩm có giỏ hàng Tại Bước 3: Bạn Edit phần javascript thêm chuỗi xử lý để gán số lượng sản phẩm giỏ hàng xuống Your Orders sau: 200 LAP @{ @if(Session["ShoppingCart"]!=null) { int cartcount = 0; List ls = (List)Session["ShoppingCart"]; foreach(CartItem item in ls) { cartcount += item.Quality; } ViewBag.count = cartcount; } } function AddToCart(BookId) { $.ajax({ type: 'POST', url: '/Book/AddToCart', data: { id: BookId }, success: function (data) { $("#Cart_Amount").html(data.ItemAmount); } }); } Chú ý: Bạn phải Using để sử dụng đối tƣợng CartItem Tới bạn hoàn thành bước thêm sản phẩm vào giỏ hàng, bước bạn xây dựng trang hiển thị danh sách giỏ hàng mua hàng Bạn xem nút Your Orders bước có dòng code sau:Your Orders @ViewBag.count
Tại nút có xử lý thêm kiện lúc nhấn vào trang ShoppingCart (onlick = window.open(„Book/ShoppingCart‟,‟_self) Vậy bạn viết hàm trả View ShoppingCart BookController sau LAP 201 public ActionResult ShoppingCart() { return View(); } Lúc bạn nhấn chuột phải vào hàm ShoppingCart tạo View, sửa code trang View ShoppingCart sau: @using VnExpress_NguyenDinhAnh.Models; @{ ViewBag.Title = "ShoppingCart"; Layout = "~/Views/Shared/_Layout.cshtml"; } Your Shopping Cart Title Author Name Price Year Cover Page Quality Total @{ 202 LAP double total = 0; List listCart = (List)Session["ShoppingCart"]; } @if (listCart != null) { foreach (var item in (List)Session["ShoppingCart"]) { @item.productOrder.Title @item.productOrder.AuthorName @item.productOrder.Price @item.productOrder.Year @{ double value = (double)item.productOrder.Price * item.Quality; total += value; } @value } } LAP 203 Total: @totalXong ứng dụng tạo giỏ hàng kỹ thuật xử lý Ajax dùng session để lưu trữ 204 TÀI LIỆU THAM KHẢO TÀI LIỆU THAM KHẢO Visual Web Developer, URL: http://msdn.microsoft.com/enus/library/ms178093.aspx Microsoft ASP.NET, URL: http: //www asp.net/ Bill Evjen, Scott Hanselman, Devin Rader (2008) Professional ASP.NET 3.5 In C# And VB jQuery, URL: http://docs.iquery.com ScottGu's Blog, URL: http://weblogs.asp.net/scottgu/archive/2008/12/02/dec- 2nd-links-asp-net-asp-net-dynamic-data-asp-net-aiax-asp-net-mvc-visual-studiosilverlight-wpf.aspx MSDN Online offline Microsoft Mã nguồn tham khảo http://www.wrox.com Các chủ đề lập trình http://www.codeguru.com, http://www.codeproject.com hay http://www.java2s.com ... Mơn Lập trình web cần kiến thức tiền đề môn học sau - Thiết kế web HƢỚNG DẪN - Lập trình hướng đối tượng - Lập trình C# Windows V U CẦU MƠN HỌC Người học vận dụng kiến thức tảng lập trình web. .. trình web để thiết kế cài đặt ứng dụng web, quản lý website, hệ quản trị nội dung, ứng dụng thương mại điện tử, dịch vụ web Kỹ lập trình, phân tích thiết kế ứng dụng thành thạo Người học cần... học trang bị kiến thức nhập mơn lập trình web Nội dung bao gồm: - Asp.net web form - Http request POST/GET - Http response - Lập trình với Session/cookie - Lập trình sở liệu: ADO.NET, Linq - Asp.net