
Đ
ẠI HỌC THĂNG LONG
BỘ MÔN TIN HỌC
CHUYÊN ĐỀ TỐT NGHIỆP
TÌM HIỂU VÀ XÂY DỰNG ỨNG DỤNG
WEB SIÊU THỊ TRỰC TUYẾN
VỚI ASP.NET MVC
SINH VIÊN :
ĐẶNG TIẾN LỘC – A07138
GIÁO VIÊN HƯỚNG DẪN :
Ths. ĐOÀN QUANG MINH
HÀ NỘI 5/ 2010

BẢNG KÝ HIỆU VIẾT TẮT
MVC Model View Controller Mô hình lập trình ba lớp Model, View, Controller
được sử dụng trong nhiều framework lập trình
web trong đó có ASP.NET MVC, ZEND ,
J2EE…
API Application
Programming Interface
Giao diện lập trình được sử dụng bởi một ứng
dụng qua đó cho phép nó tương tác với ứng
dụng khác
ACK ACKnowledgement Thừa nhận một trường xác thực trong gói tin
http.
URL Uniform Resource
Locator
Địa chỉ website
LINQ .NET Language
Intergrated Query
Ngôn ngữ truy vấn tích hợp với .NET
CDN Content Delivery
Network
Mạng phân phối nội dung
SMTP Simple Mail Transfer
Protocol
Giao thức gửi thư điện tử
SSL Secure Socket Layer Tầng bảo mật Socket
IIS Internet Information
Server
Máy chủ thông tin mạng
EML Electronic Mail Thư điện tử (đuôi của tệp thư điện tử)
DOM Document Object
Model
định nghĩa tập các đối tượng chuẩn cho tất cả
tài liệu có cấu trúc
UI User Interface Giao diện người dùng
CPU Control Processing
Unit
Bộ điều khiển xử lí trong máy tính

MỤC LỤC
i
MỤC LỤC
GIỚI THIỆU CHUNG ..................................................................................................... 1
CHƯƠNG 1: MỞ ĐẦU .................................................................................................... 3
1.1. Tổng quan về ASP.NET MVC.......................................................................... 3
1.2. Tổng quan về ứng dụng thương mại siêu thị trực tuyến .................................... 3
2.1. Yêu cầu đặt ra cho kiến trúc hệ thống ............................................................... 4
2.2. Thiết kế kiến trúc hệ thống ............................................................................... 4
2.2.1. Thiết kế kiến trúc phân tầng....................................................................... 5
2.2.2. Lựa chọn lưu trữ dữ liệu và thiết kế tầng truy xuất dữ liệu ......................... 5
2.2.3. Thiết kế tầng logic nghiệp vụ ..................................................................... 9
2.2.4. Xây dựng vùng nhớ đệm - caching , sử dụng mạng phân phối nội dung tăng
hiệu năng của hệ thống ......................................................................................... 10
2.2.5. Tầng trình diễn (UI hay Views) ............................................................... 10
CHƯƠNG 2: TÌM HIỂU ASP.NET MVC VÀ LINQ ................................................... 12
1.1. ASP.NET MVC là gì? .................................................................................... 12
1.1.1. Mô hình MVC cơ bản .............................................................................. 12
1.1.2. Một vài đặc tính của ASP.NET MVC ...................................................... 12
1.2. Sự khác biệt so với Web Form ........................................................................ 13
1.3. Quá trình thực thi một ứng dụng nền web ASP.NET MVC ............................. 15
2.1. Linq to SQL là gì? .......................................................................................... 16
2.2. Mô hình hóa CSDL dùng Linq to SQL ........................................................... 16
2.3. Tìm hiểu lớp DataContext .............................................................................. 18
2.4. Các ví dụ Linq to SQL .................................................................................... 18
2.5. Tổng kết ......................................................................................................... 21
CHƯƠNG 3: PHÂN TÍCH THIẾT KẾ ỨNG DỤNG .................................................. 22
1.1. Thiết kế hệ thống ............................................................................................ 22
1.1.1. Các module của hệ thống ......................................................................... 22
1.1.2. Mối quan hệ giữa các module .................................................................. 23
1.2. Đặc tả sơ lược các module .............................................................................. 23
1.2.1. Module hồ sơ và thành viên ..................................................................... 23
1.2.2. Module lấy ý kiến khách hàng ................................................................. 23
1.2.3. Module thương mại ................................................................................. 23
1.2.4. Module gửi thư ........................................................................................ 23
1.2.5. Module diễn đàn ...................................................................................... 23
1.2.6. Module tìm kiếm siêu thị ......................................................................... 24
1.2.7. Module bài báo, tin tức, và blog .............................................................. 24
1.2.8. Module quốc tế hóa ................................................................................. 24
1.2.9. Module kiểm thử ..................................................................................... 24
2.1. Tổng quan về module ..................................................................................... 25
2.2. Sơ đồ chức năng ............................................................................................. 26
2.3. Các bảng DL của module................................................................................ 26
2.3.1. Tạo bảng DL ........................................................................................... 26
2.3.2. Cấu hình trong web.config cho membership, role và profile: ................... 27
2.4. Models ........................................................................................................... 28
2.4.1. Lớp UserInformation ............................................................................... 28
2.4.2. Lớp ProfileInformation ............................................................................ 28
2.5. Controllers...................................................................................................... 29
2.6. Views ............................................................................................................. 30
2.7. Sử dụng Javascript .......................................................................................... 31
2.8. Cấu hình định tuyến........................................................................................ 32

2.9. Xử lí xác thực người dùng .............................................................................. 32
3.1. Tổng quan về module ..................................................................................... 33
3.2. Sơ đồ chức năng ............................................................................................. 34
3.3. Tìm hiểu , sử dụng Paypal cho chức năng thanh toán (check out).................... 34
3.3.1. Tạo tài khoản ảo cho mục đích kiểm thử .................................................. 35
3.3.2. Quá trình thanh toán với Paypal từ website thương mại ........................... 35
3.4. Các bảng dữ liệu của module .......................................................................... 37
3.5. Lớp thiết lập cấu hình cho module thương mại ............................................... 37
3.6. Model ............................................................................................................. 38
3.7. Controller ....................................................................................................... 39
3.8. View............................................................................................................... 40
3.9. Sử dụng JavaScript ......................................................................................... 42
3.10. Cấu hình định tuyến .................................................................................... 45
4.1. Tổng quan về module ..................................................................................... 47
4.2. Các vấn đề cần quan tâm khi xây dựng module:.............................................. 47
4.3. Sơ đồ chức năng ............................................................................................. 50
4.4. Các bảng dữ liệu ............................................................................................. 50
4.5. Thiết kế lớp cấu hình cho module ................................................................... 51
4.6. Model ............................................................................................................. 51
4.7. Controller ....................................................................................................... 52
4.8. View............................................................................................................... 52
4.9. Cấu hình định tuyến........................................................................................ 53
5.1. Tổng quan về module ..................................................................................... 54
5.2. Sơ đồ chức năng ............................................................................................. 54
5.3. Các bảng dữ liệu ............................................................................................. 55
5.4. Thiết kế lớp cấu hình cho module ................................................................... 56
5.5. Model ............................................................................................................. 56
5.6. Controller ....................................................................................................... 57
5.7. View............................................................................................................... 58
5.8. Sử dụng javascript .......................................................................................... 58
5.9. Cấu hình định tuyến........................................................................................ 63
6.1. Tổng quan về module ..................................................................................... 65
6.2. Sơ đồ chức năng ............................................................................................. 65
6.3. Các bảng dữ liệu ............................................................................................. 66
6.4. Xây dựng lớp ForumsElement cho thiết lập cấu hình module .......................... 66
6.5. Model ............................................................................................................. 66
6.6. Controller ....................................................................................................... 67
6.7. View............................................................................................................... 68
6.8. Sử dụng javascript .......................................................................................... 69
6.9. Cấu hình định tuyến........................................................................................ 73
6.10. Cấu hình trong tệp web.config .................................................................... 74
7.1. Tổng quan về module ..................................................................................... 75
7.2. Sơ đồ chức năng ............................................................................................. 75
7.3. Các bảng dữ liệu ............................................................................................. 76
7.4. Xây dựng lớp ArticleElement cho thiết lập cấu hình của module .................... 76
7.5. Model ............................................................................................................. 77
7.6. Controller ....................................................................................................... 78
7.7. View............................................................................................................... 79
7.8. Sử dụng javascript .......................................................................................... 80
7.9. Cấu hình định tuyến........................................................................................ 86
8.1. Tổng quan về module ..................................................................................... 90

8.2. Xây dựng module ........................................................................................... 90
8.2.1. Các Service hỗ trợ quốc tế hóa trong Framework của Microsoft .............. 90
8.2.2. Xây dựng các tệp tài nguyên .................................................................... 91
8.2.3. Controller của module ............................................................................. 93
8.2.4. View tương ứng của module .................................................................... 93
CHƯƠNG 4: SỬ DỤNG WEB FORMS TRONG ỨNG DỤNG ASP.NET MVC ....... 97
1.1. Các lí do cho sự kết hợp giữa 2 công nghệ ...................................................... 97
1.2. Tại sao có thể thực hiện được sự kết hợp này .................................................. 97
1.3. Các bước để kết hợp các trang WebForms vào ứng dụng ASP.NET MVC ...... 97
2.1. Tổng quan về module ..................................................................................... 98
2.2. Sơ đồ chức năng ............................................................................................. 98
2.3. Phân tích cách xây dựng chức năng ............................................................. 98
2.4. Bảng CSDL .................................................................................................... 99
2.5. Các lớp hỗ trợ trong module ......................................................................... 100
2.6. View............................................................................................................. 102
2.7. Thêm định tuyến cho các trang view của module .......................................... 103
2.8. Vấn đề bảo mật ............................................................................................. 104
CHƯƠNG 5: TRIỂN KHAI ỨNG DỤNG VÀ HƯỚNG PHÁT TRIỂN ................... 106
1.1. Các bước triển khai....................................................................................... 106
1.2. Triển khai Global Store Site ......................................................................... 106
1.3. Cấu hình IIS 7.0 cho Framework MVC sử dụng Microsoft Web Platform
Installer .................................................................................................................. 107
1.4. Thêm Global Store site vào IIS 7.0 ............................................................... 110
2.1. Hỗ trợ tìm kiếm sản phẩm mở rộng .............................................................. 112
2.2. Mở rộng chức năng tìm kiếm cửa hàng gần nhất ........................................... 112
2.3. Xây dựng module báo cáo tình hình bán hàng của siêu thị kết xuất ra các tệp
định dạng Execel , Pdf ............................................................................................ 112
KẾT LUẬN .................................................................................................................. 113
TÀI LIỆU THAM KHẢO ............................................................................................ 114
DANH MỤC HÌNH ẢNH ............................................................................................ 115

