Hình 6-15 trình bày mã aspx cho trang Checkout. Ở đây, bạn có thể thấy việc sử dụng các yếu tố nhãn và điều khiển máy chủ. Cho ngắn gọn, mặc dù, các xác nhận trường bắt buộc cho các hộp văn bản và danh sách thả xuống không được hiển thị.
Hình 6-16 trình bày các mã phía sau tập tin cho các trang Checkout. Điều đầu tiên cần chú ý về mã này là nó có chứa một đối tượng khách hàng cá nhân. Điều này sẽ lưu trữ thông tin khách hàng lấy từ nhà nước phiên hoặc từ trang, và nó được sử dụng bởi hầu hết các phương pháp trong các tập tin.
Như bạn đã thấy trước đây, các bài kiểm tra đầu tiên sự kiện Page_Load phương pháp xử lý để xem liệu các trang web là một postback. Nếu nó không phải là, có nghĩa là nó đang được yêu cầu cho lần đầu tiên. Trong trường hợp đó, phương pháp này được các đối tượng khách hàng từ các đối tượng Session nếu có một, và nó gọi phương thức LoadCustomerData để tải dữ liệu từ các đối tượng khách hàng vào các điều khiển của trang Checkout. Một khi dữ liệu được nạp vào điều khiển của trang, nó sẽ được bảo quản giữa postbacks trong ViewState. Đó là lý do tại sao bạn chỉ phải lấy thông tin khách hàng từ phiên lần đầu tiên tải trang.
Trong phương pháp LoadCustomerData, bạn có thể thấy các dữ liệu từ các đối tượng khách hàng được nạp vào các điều khiển. Nhưng lưu ý rằng điều này chỉ được thực hiện nếu các đối tượng khách hàng là không null. Nếu đối tượng không phải là null, nó có nghĩa là người sử dụng đã nhập dữ liệu cho trang Checkout đầu tiên, đi trở lại trang giỏ hàng, và quay trở lại trang Checkout.
Nếu người dùng nhấn nút, xử lý sự kiện btnCheckOut_Click Check Out được thực thi. Nó kiểm tra trước để xem các dữ liệu trong các điều khiển là hợp lệ. Nếu nó là, phương pháp này gọi là phương pháp GetCustomerData để có được các dữ liệu từ các điều khiển trên biểu mẫu và lưu dữ liệu trong các thuộc tính của các đối tượng khách hàng. Sau đó, nó sử dụng các phương pháp Response.Redirect để đi đến trang Checkout thứ hai.
Trong phương pháp GetCustomerData, bạn có thể thấy các báo cáo nhận được dữ liệu từ các điều khiển và lưu chúng trong các thuộc tính của các đối tượng khách hàng. Khi tất cả các dữ liệu đã được lưu trữ trong các đối tượng khách hàng, các đối tượng được bổ sung vào đối tượng Session.
Mặt khác, nếu người dùng nhấp vào nút Cancel Order, xử lý sự kiện btnCancel_Click được thực thi. Phương pháp này loại bỏ các giỏ hàng và khách hàng các đối tượng từ các đối tượng Session, và chuyển hướng đến trang đặt hàng.
đang được dịch, vui lòng đợi..
