Đồ án Nghiên cứu mô hình MVC trong lập trình .NET để xây dựng Website đăng ký mua giáo trình qua mạng
MỤC LỤC
LỜI CẢM ƠN . i
DANH MỤC CÁC TỪ TIẾNG ANH . iv
DANH MỤC CÁC BẢNG . v
DANH MỤC CÁC HÌNH . vi
MỞ ĐẦU . 1
PHẦN 1 . 3
GIỚI THIỆU MÔ HÌNH MVC . 3
1.1. Xuất xứ . 3
1.2. Kiến trúc của mô hình MVC . 3
1.3. Đặc điểm của mô hình MVC . 5
PHẦN 2 . 7
MÔ HÌNH MVC TRONG ASP.NET . 7
2.1. Giới thiệu tổng quan . 7
2.1.1. Lịch sử phát triển của ASP.NET . 8
2.1.2. Khái quát các thành phần của ASP.NET MVC . 12
2.1.3. Lợi ích của mô hình ASP.NET MVC. 13
2.1.4. So sánh ASP.NET MVC với ASP.NET . 13
2.2. Cài đặt . 15
PHẦN 3 . 18
XÂY DỰNG ỨNG DỤNG VỚI ASP.NET MVC FRAMWORK. 18
3.1. Tạo một project với ASP.NET MVC . 18
3.2. Tìm hiểu định tuyến URL . 22
3.2.1. Hệ thống định tuyến trong ASP.NET MVC để làm gì ?. 25
3.2.2. Các quy tắc định tuyến các URL mặc định trong ASP.NET MVC Web
Application . 25
3.3. Xây dựng Controllers . 34
3.4. Xây dựng Model . 42
3.5. Tạo giao diện ngƣời dùng với View . 45
3.6. Truy nhập dữ liệu với LINQ . 51
PHẦN 4 . 53
BẢO MẬT VỚI ASP.NET MVC APPLICATION . 53
PHẦN 5 . 57
iii Nguyễn Trọng Trí – Lớp HT02
CHƢƠNG TRÌNH ỨNG DỤNG . 57
5.1. Mô tả chƣơng trình ứng dụng . 57
5.2. Hình ảnh các chức năng chính của trang website . 60
KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN . 63
TÀI LIỆU THAM KHẢO . 64
ƣu trữ trong thƣ mục con tên là “Quanly”:
Hình 3.9: View Quanly
Khi chúng ta gọi (invoke) câu lệnh RenderView(string viewName ) trong một
Controller , MVC Framework sẽ tự động tìm một View template tƣơng ứng .Aspx
hoặc .Ascx trong đƣờng dẫn /View/ControllerName, nếu không thể tìm thấy View
nào thích hợp thì ASP.NET MVC Framework sẽ tìm trong t hƣ mục /View/Shared.
Tìm hiểu mô hình MVC trong lập trình .NET 2011
49 Nguyễn Trọng Trí – Lớp HT02
Tạo một Danhsachgt View
Chúng ta có thể tạo ra View “Danhsachgt” cho QuanlyController trong Visual
Studio bằng cách click phải chuột chọn “Add New Item” trên thƣ mục Quanly và
chọn “MVC View Page“. Chúng ta sẽ có một trang aspx mới và có thể tùy chọn liên
kết với trang chủ Site.Master.
Khi xây dựng ứng dụng bằng cách sử dụng một mô hình MVC , ta muốn giữ
cho mã nguồn View đơn giản, và chắc chắn rằng mã nguồn View chỉ đơn thuần làm
việc biểu diễn UI cho ngƣời dùng. Các xử lý về Buiness logic chỉ nên đặt trong các
lớp Controller. Controller sẽ xử lý, chọn View thích hợp và truyền nhƣng dữ liệu
cần thiết vào View để biểu diễn ra UI cho ngƣời dùng (đƣợc thực hiện khi gọi
RederView() ). Ví dụ, dƣới đây trong Action Method Danhsachgt của class
QuanlyController, ta truyền vào Danhsachgt View một đối tƣợng “var gt =
csdl.Giao_trinhs” để Categories View thực hiện việc hiển thị dữ liệu dựa vào đối
tƣợng gt
MVC View Page mặc định đƣợc kế thừa từ các lớp cơ sở
System.Web.Mvc.ViewPage, cung cấp một số phƣơng thức Helper và các
Properties mà chúng ta có thể sử dụng trong việc xây dựng giao diện ngƣời dùng.
Và đây là kết quả:
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master"
Inherits="System.Web.Mvc.ViewPage>"
%>
Danh sách giáo trình
Tìm hiểu mô hình MVC trong lập trình .NET 2011
50 Nguyễn Trọng Trí – Lớp HT02
Danh sách giáo trình
Thao tác
Tên giáo trình
Giá tiền
<%: Html.ActionLink("Chỉnh sửa", "Editgiaotrinh", new {
id=item.Ma_giao_trinh }) %> |
Tìm hiểu mô hình MVC trong lập trình .NET 2011
51 Nguyễn Trọng Trí – Lớp HT02
Hình 3.10: Danh sách giáo trình
3.6. Truy nhập dữ liệu với LINQ
LINQ (Language Integrate Query) là sự sáng tạo mới trong .Net Framework
3.5, là một tập mở rộng ngôn ngữ cho phép thực hiện các truy vấn trong ngôn ngữ
C# 2008 và VisualBasic 2008. LINQ cho phép Select (chọn), Filter (lọc), Sort (phân
loại), Group (nhóm) và tranfom data (chuyển dữ liệu) từ các nguồn data source (dữ
liệu nguồn) khác nhau theo một cách chung.
LINQ to Objects thực hiện truy vấn các đối tƣợng.
LINQ to DataSet thực hiện truy vấn DataSet.
LINQ to SQL thực hiện truy vấn đến cơ sở dữ liệu SqlServer mà không phải
viết code.
LINQ to XML đọc dữ liệu từ XML.
Ví dụ, nếu em không dùng LINQ, thì để muốn lấy tất cả các giáo trình thì em
viết mã lệnh nhƣ sau:
Tìm hiểu mô hình MVC trong lập trình .NET 2011
52 Nguyễn Trọng Trí – Lớp HT02
Tuy nhiên nếu sử dụng LINQ thì mã lệnh nhƣ sau:
Nhƣ vậy thì với việc sử dụng LINQ, câu lệnh truy vấn đã trở nên gọn gàng
hơn rất nhiều, và đây là kết quả:
Hình 3.11: Danh sách giáo trình
Tìm hiểu mô hình MVC trong lập trình .NET 2011
53 Nguyễn Trọng Trí – Lớp HT02
PHẦN 4
BẢO MẬT VỚI ASP.NET MVC APPLICATION
Có nhiều phƣơng pháp xác thực ngƣời dùng nhƣ Windows Authentication,
Forms Authentication. Tuy nhiên trong chƣơng này em chỉ trình bày xác thực dựa
trên Forms Authentication, giải thích cách sử dụng Forms Authentication để yêu
cầu bằng password cho các View. Sử dụng Website Administration Tool tạo ngƣời
dùng và phân nhóm ngƣời dùng, ngăn chặn những ngƣời ngƣời trái phép.
Tạo ngƣời dùng với ASP.NET MVC Application
Mặc định khi ứng dụng đƣợc tạo sẽ có sẵn một Controller có tên
AccountController.cs và có các View tƣơng ứng ChangePassword.aspx,
ChangePasswordSuccess.aspx, Login.aspx, Register.aspx.
Hình 4.1: Quản lý ngƣời dùng
Tìm hiểu mô hình MVC trong lập trình .NET 2011
54 Nguyễn Trọng Trí – Lớp HT02
View thể hiện việc đăng ký một ngƣời dùng mới nhƣ sau:
Hình 4.2: Đăng ký tài khoản mới
Quản lý ngƣời dùng với công cụ Website Administration Tool
Chọn menu Project -> ASP.NET Configuration. Xuất hiện công cụ Website
Administration Tool, chọn Tab Security
Hình 4.3: Trang quản trị ngƣời dùng
Tìm hiểu mô hình MVC trong lập trình .NET 2011
55 Nguyễn Trọng Trí – Lớp HT02
Click và Create User để tạo ngƣời dùng, ở đây em ví dụ tạo ngƣời dùng tên
Tri:
Hình 4.4: Tạo user
Phân quyền nhóm ngƣời dùng (Rules)
Để tạo role trƣớc hết phải enable role bằng cách click vào link Enable roles
sau đó click vào Create and Manage roles -> tạo role có tên Quantri.
Hình 4.5: Thêm quyền mới
Tìm hiểu mô hình MVC trong lập trình .NET 2011
56 Nguyễn Trọng Trí – Lớp HT02
Bây giờ ta gán quyền cho user Tri mới tạo
Hình 4.6: Gán quyền cho user
Ta áp dụng vào Controller của chúng ta nhƣ sau:
Nhƣ vậy khi muốn thực hiện chức năng Delete giáo trình, bắt buộc ngƣời dùng
phải đăng nhập với quyền “Quantri”.
Tìm hiểu mô hình MVC trong lập trình .NET 2011
57 Nguyễn Trọng Trí – Lớp HT02
PHẦN 5
CHƢƠNG TRÌNH ỨNG DỤNG
5.1. Mô tả chƣơng trình ứng dụng
Khảo sát hiện trạng
Trung tâm thông tin tƣ liệu là một phòng chức năng thuộc trƣờng Việt hàn.
Trung tâm có chức năng cung cấp các giáo trình, tƣ liệu phục vụ việc học tập,
nghiên cứu của sinh viên và giảng viên trong trƣờng.
Nhằm minh họa cho phần giới thiệu lý thuyết về ASP.NET MVC, và qua thực
tế là hiện nay việc mua giáo trình của trƣờng hiện vẫn còn thủ công. Em đã tìm hiểu
và chọn đề tài là xây dựng website đăng ký mua giáo trình trực tuyến dựa trên mô
hình ASP.NET MVC nhằm mục đích là giúp cho sinh viên của trƣờng có thể tiến
hành việc mua giáo trình một cách dễ dàng và nhanh chóng nhất.
Vào đầu mỗi học kỳ, thƣ viện thƣờng yêu cầu sinh viên đăng ký mua giáo
trình để phục vụ cho việc học tập. Tuy nhiên việc đăng ký chỉ đƣợc thực hiện trên
giấy tờ, thƣ viện phát giấy đăng ký cho lớp trƣởng và sau đó thu lại. Việc đăng ký
thủ công này gây mất thời gian của sinh viên lẫn của thƣ viện, vì thế việc có một
website đăng ký mua giáo trình trực tuyến là một đề xuất phù hợp với tình hình hiện
nay của trƣờng.
Xác lập dự án
Việc đăng ký mua giáo trình mà một công việc có quy mô nhỏ, nhƣng phức
tạp. Vì thế, trong chƣơng trình ứng dụng này ( đƣợc xây dựng với mục tiêu là minh
họa cho các lý thuyết đƣợc nêu ra trong các chƣơng trên), em sẽ giới hạn lại độ
phức tạp của chƣơng trình. Sinh viên sau khi đăng ký thì sẽ thực hiện việc mua giáo
trình, và trung tâm sẽ thực hiện việc xác nhận thông tin và cũng cấp giáo trình cho
sinh viên.
Tìm hiểu mô hình MVC trong lập trình .NET 2011
58 Nguyễn Trọng Trí – Lớp HT02
Quy trình hoạt động của website
- Về phía trung tâm:
Quản lý việc cập nhật giáo trình, khoa.
Quản lý việc đăng ký mua của sinh viên.
- Về phía sinh viên:
Tiến hành chọn lựa giáo trình dựa trên các khoa tƣơng ứng.
Tiến hành điền các thông tin cần thiết và cập nhập thông tin.
Quy trình nghiệp vụ
Quy trình đăng ký mua sách Quy trình xác nhận mua giáo trình
Bắt đầu
Đăng nhập
Chọn giáo trình theo khoa
Thực hiện chức năng mua giáotrình
Kết thúc
Đăng nhập thành công
Bắt đầu
Đăng nhập
Xác nhận mua giáo trình
Đăng nhập thành công
Kết thúc
Tìm hiểu mô hình MVC trong lập trình .NET 2011
59 Nguyễn Trọng Trí – Lớp HT02
Mô hình cơ sở dữ liệu
Hình 5.1: Mô hình cơ sở dữ liệu
Tìm hiểu mô hình MVC trong lập trình .NET 2011
60 Nguyễn Trọng Trí – Lớp HT02
5.2. Hình ảnh các chức năng chính của trang website
Trang chủ: đây là trang chủ của website, sẽ xuất hiện trƣớc tiên khi ngƣời
dùng truy cập vào.
Hình 5.2: Trang chủ website
Trang quản lý khoa: đây là trang dùng để hiện thông tin danh sách các khoa
của trƣờng, trung tâm có thể trực tiếp thêm, xóa khoa tại trang này.
Hình 5.3: Trang quản lý các khoa
Tìm hiểu mô hình MVC trong lập trình .NET 2011
61 Nguyễn Trọng Trí – Lớp HT02
Trang quản lý giáo trình: Trang dùng để hiển thị danh sách các giáo trình,
đồng thời trung tâm có thể xóa giáo trình trực tiếp tại đây. Tại trang này, trung tâm
có thể chuyển tới các trang nhƣ chỉnh sửa giáo trình, thêm giáo trình.
Hình 5.4: Trang quản lý thông tin giáo trình
Hình 5.5: Trang thêm giáo trình
Tìm hiểu mô hình MVC trong lập trình .NET 2011
62 Nguyễn Trọng Trí – Lớp HT02
Hình 5.6: Trang sửa thông tin giáo trình
Trang đăng ký mua giáo trình: Tại trang này, sinh viên có thể lọc giáo trình
theo khoa, chọn giáo trình, điền thông tin sinh viên và cuối cùng là hoàn thành việc
đăng ký mua giáo trình.
Hình 5.7: Trang đăng ký mua giáo trình
Tìm hiểu mô hình MVC trong lập trình .NET 2011
63 Nguyễn Trọng Trí – Lớp HT02
KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN
Kết luận
Sau gần 3 tháng nghiên cứu và xây dựng, cuối cùng em cũng đã hoàn thành
bản báo cáo nghiên cứu lý thuyết và chƣơng trình demo.
Về báo cáo lý thuyết, em đã trình bày những kiến thức cơ bản nhất của
ASP.NET MVC, tuy chƣa đầy đủ những kiến thức, nhƣng em nghĩ rằng những gì
em trình bày trong đồ án là những kiến thức nền tảng và quan trọng để mọi ngƣời
có thể tiếp tục tìm hiểu những kiến thức sâu và mới hơn.
Về chƣơng trình demo, mặc dù quy mô chƣơng trình không lớn, chức năng
đơn giản. Nhƣng những kiến thức thƣờng dùng nhất của ASP.NET MVC em hầu
nhƣ đã đƣa vào hết, ngoài ra còn có một số kiến thức nâng cao khác. Với demo này,
tuy chƣa thể áp dụng vào thực tế đƣợc, nhƣng em tin rằng đây sẽ là một chƣơng
trình tham khảo rất tốt cho những bạn muốn học ASP.NET MVC.
Hƣớng phát triển
Em sẽ bổ sung thêm nhiều chức năng hơn nữa, đồng thời cố gắng để website
có thể ứng dụng đƣợc vào thực tế tại trung tâm thông tin tƣ liệu trƣờng Việt Hàn.
Tìm hiểu mô hình MVC trong lập trình .NET 2011
64 Nguyễn Trọng Trí – Lớp HT02
TÀI LIỆU THAM KHẢO
[1] Ebook: Wrox - Professional ASP.NET MVC.
[2] Website :
[3] Website:
File đính kèm:
Đồ án Nghiên cứu mô hình MVC trong lập trình .NET để xây dựng Website đăng ký mua giáo trình qua mạng.pdf

