Định nghĩa giỏ hàng và cách thức chi tiết để lập trình tính năng quan trọng này trong ASP.NET sẽ được Hanoi- Aptech giới thiệu trong bài viết dưới đây.
Đầu tiên, chúng ta sẽ cùng tìm hiểu Giỏ hàng trong website mua sắm trực tuyến có ý nghĩa gì?
Khi bước vào siêu thị để mua hàng, đầu tiên bạn sẽ chọn “giỏ hàng” hoặc “xe đẩy hàng”.Trong quá trình mua sắm, bạn có thể chọn hàng cho vào giỏ, tăng giảm số lượng, thay đổi bằng loại hàng hóa khác hoặc bỏ lại một sản phẩm không ưng ý. Những sản phẩm trong giỏ hàng sẽ được lưu trữ tạm thời và được bỏ ra khi thanh toán.
Giỏ hàng trong website thương mại điện tử cũng vậy. Nó cho phép bạn thêm một loại sản phẩm vào giỏ hàng, loại bỏ sản phẩm khác hay tăng giảm số lượng của một sản phẩm nào đó. Sau khi thực hiện chức năng thanh toán, giỏ hàng của bạn sẽ quay về trạng thái rỗng (null).
Cách thức tạo giỏ hàng?
Với bài toán này, chúng ta sẽ sử dụng 3 đối tượng chính là: DataTable và Session và GridView để tạo và hiển thị giỏ hàng.
Trong đó:
+ DataTable đóng vai trò là giỏ hàng.
+ Session được sử dụng để lưu trữ giỏ hàng trong một phiên làm việc.
+ GridView sử dụng để hiển thị thông tin và chỉnh sửa số lượng sản phẩm trong giỏ hàng.
1. Tạo và lưu trữ giỏ hàng
Tạo giỏ hàng với cấu trúc 4 cột chính (ID, Name, Price, Quantity) rồi lưu trữ vào Session.
2. Thêm sản phẩm vào giỏ hàng
Đoạn code này là giao thức tương đương việc giỏ hàng nhận thêm 1 sản phẩm với các dữ liệu gửi đến theo phương thức GET.
Đọc các dữ liệu này thông qua Request.QueryString[“key”].
3. Sửa thông tin giỏ hàng
Đoạn code này tương đương việc giỏ hàng hiểu số lượng sản phẩm trong giỏ hàng đang được thay đổi như thế nào bởi người dùng từ control GridView, thông qua sự kiện SelectedIndexChanging.
Chú ý: Trong phần code hướng dẫn có sử dụng đoạn mã đọc khóa chính của dòng sản phẩm được chọn. Yêu cầu phải cần thiết lập thuộc tính DataKeyNames của GridView là tên khóa chính của nguồn dữ liệu. Trong đoạn code ví dụ dưới đây, DataKeyNames được gắn là ID (cột mã sản phẩm trong giỏ hàng).
4. Xóa sản phẩm khỏi giỏ hàng
Đoạn code này sẽ cho phép xóa một sản phẩm trong giỏ hàng với sự kiện RowDeleting của control GridView.
5. Duyệt qua thông tin từng sản phẩm trong giỏ hàng
Để duyệt qua thông tin các sản phẩm trong giỏ hàng rất đơn giản, bạn chỉ cần lấy đối tượng DataTable (giỏ hàng) trong Session[“cart”] rồi dùng vòng lặp để đọc lần lượt các dòng (DataRow) của nó.
6. Tổng hợp code lại các bạn sẽ có một giỏ hàng giống như giao diện sau:
Download source code: TaoGioHang.rar
Mật khẩu giải nén: aptech.vn
Dương Linh
Tài liệu lập trình do Hanoi- Aptech cung cấp