Đồ á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