ASP.NET MVC là một framework web được phát triển bởi Microsoft, dựa trên mô hình MVC (modelviewcontroller).

ASP.NET MVC được Microsoft giới thiệu lần đầu tiên tại phiên bản .Net Framework 3.5.

ASP.NET MVC bây giờ đã trở thành mã nguồn mở, tách rời với thành phần độc quyền ASP.NET Web Forms.

ASP.NET MVC đang nổi lên là phương pháp phát triển web mạnh nhất và phổ biến nhất trên nền ASP.NET hiện nay.

Hướng dẫn lập trình ASP.NET MVC

Hướng dẫn ASP.NET MVC bao gồm tất cả các tính năng của ASP.NET MVC. Bạn sẽ tìm hiểu các tính năng từ cơ bản đến nâng cao của ASP.Net MVC.

Các hướng dẫn cơ bản sử dụng MVC 5, nhưng nó cũng có thể áp dụng cho tất cả các phiên bản cũ và các phiên bản sắp tới của MVC.

Đối tượng độc giả

Các hướng dẫn này được thiết kế cho người mới bắt đầu và các chuyên gia muốn tìm hiểu ASP.NET MVC 5.

Điều kiện tiên quyết

Kiến thức cơ bản về .Net Framework 3.5 / 4.5, C#, Visual Studio là bắt buộc.

Kiến trúc MVC

Trong phần này, bạn sẽ có được cái nhìn tổng quan về kiến ​​trúc MVC. Kiến ​​trúc MVC đã tồn tại từ lâu trong công nghệ phần mềm.

Rất nhiều ngôn ngữ đã sử dụng kiến trúc MVC với một chút thay đổi, nhưng về mặt khái niệm thì nó vẫn giữ nguyên.

Hãy cùng chúng tôi tìm hiểu về kiến ​​trúc MVC trong ASP.NET.

MVC là viết tắt của Model, View và Controller. MVC tách ứng dụng thành ba thành phần: Model, View và Controller.

Model: đại diện cho hình dạng của dữ liệu. Nó duy trì dữ liệu của ứng dụng. Các đối tượng model lấy và lưu trữ trạng thái mô hình trong cơ sở dữ liệu.

Model đại diện cho dữ liệu.

View: là giao diện người dùng. View hiển thị dữ liệu của model cho người dùng và cũng cho phép họ sửa đổi dữ liệu.

View là giao diện người dùng.

Controller: xử lý yêu cầu của người dùng. Thông thường, người dùng tương tác với view, những tương tác này sẽ tạo ra yêu cầu tương ứng và sẽ được xử lý bởi controller. Controller trả về view thích hợp kèm theo dữ liệu model dưới dạng phản hồi.

Controller xử lý yêu cầu của người dùng.

Hình dưới đây minh họa sự tương tác giữa Model, View và Controller.

Kiến trúc MVC

Hình dưới đây minh họa luồng yêu cầu của người dùng trong ASP.NET MVC.

Xử lý yêu cầu trong MVC

Theo hình trên, khi người dùng nhập URL vào trình duyệt, nó sẽ đến máy chủ và gọi controller thích hợp.

Sau đó, controller sử dụng view với model phù hợp để tạo phản hồi và gửi lại cho người dùng. Chúng ta sẽ thấy chi tiết của sự tương tác trong một vài phần tiếp theo.

Ghé thăm MSDN để tìm hiểu chi tiết về ASP.NET MVC.

Những điểm cần nhớ:

  • MVC là viết tắt của Model, View và Controller.
  • Model chịu trách nhiệm duy trì dữ liệu ứng dụng và nghiệp vụ (business).
  • View là giao diện người dùng của ứng dụng, hiển thị dữ liệu.
  • Controller xử lý các yêu cầu của người dùng và hiển thị view với model phù hợp.

Lợi ích của ASP.NET MVC

Nền tảng ASP.NET MVC mang lại những lợi ích sau:

  • Dễ dàng quản lý sự phức tạp của ứng dụng bằng cách chia ứng dụng thành ba thành phần model, view, controller
  • Nó không sử dụng view state hoặc server-based form. Điều này tốt cho những lập trình viên muốn quản lý hết các khía cạnh của một ứng dụng.
  • Nó sử dụng mẫu Front Controller, mẫu này giúp quản lý các requests (yêu cầu) chỉ thông qua một Controller. Nhờ đó bạn có thể thiết kế một hạ tầng quản lý định tuyến. Để có nhiều thông tin hơn, bạn nên xem phần Front Controller trên web site MSDN
  • Hỗ trợ tốt hơn cho mô hình phát triển ứng dụng hướng kiểm thử (TDD)
  • Nó hỗ trợ tốt cho các ứng dụng được xây dựng bởi những đội có nhiều lập trình viên và thiết kế mà vẫn quản lý được tính năng của ứng dụng

Các tính năng của ASP.NET MVC

  • Tách bạch các tác vụ của ứng dụng (logic nhập liệu, business logic, và logic giao diện), dễ dàng kiểm thử và mặc định áp dụng hướng phát triển TDD. Tất cả các tính năng chính của mô hình MVC được cài đặt dựa trên interface và được kiểm thử bằng cách sử dụng các đối tượng mocks, mock object là các đối tượng mô phỏng các tính năng của những đối tượng thực sự trong ứng dụng.
  • MVC là một nền tảng có khả năng mở rộng (extensible) & nhúng (pluggable). Các thành phần của ASP.NET MVC được thiết kế để chúng có thể được thay thế một cách dễ dàng hoặc dễ dàng tùy chỉnh. Bạn có thể nhúng thêm view engine, cơ chế định tuyến cho URL, cách kết xuất tham số của action-method và các thành phần khác. ASP.NET MVC cũng hỗ trợ việc sử dụng Dependency Injection (DI) và Inversion of Control (IoC).
  • ASP.NET MVC có thành phần ánh xạ URL mạnh mẽ cho phép bạn xây dựng những ứng dụng có các địa chỉ URL xúc tích và dễ tìm kiếm. Các địa chỉ URL không cần phải có phần mở rộng của tên tập tin và được thiết kế để hỗ trợ các mẫu định dạng tên phù hợp với việc tối ưu hóa tìm kiếm (URL) và phù hợp với lập địa chỉ theo kiểu REST.
  • Hỗ trợ các tính năng có sẵn của ASP.NET như cơ chế xác thực người dùng, quản lý thành viên, quyền, output caching và data caching, session và profile, quản lý trạng thái ứng dụng, hệ thống cấu hình

Lịch sử phiên bản ASP.NET MVC

Microsoft đã giới thiệu ASP.NET MVC trong .Net Framework 3.5, kể từ đó, rất nhiều tính năng mới đã được thêm vào.

Bảng sau đây liệt kê lịch sử tóm tắt của ASP.NET MVC.

MVC Version .Net Version Release date Features MVC 1.0 .Net 3.5 13/3/2009
  • MVC architecture with webform engine
  • Routing
  • HTML Helpers
  • Ajax Helpers
  • Auto binding
MVC 2.0 .Net 3.5/4.0 10/3/2010
  • Area
  • Asynchronous controller
  • Html helper methods with lambda expression
  • DataAnnotations attributes
  • Client side validation
  • Custom template
  • Scaffolding
MVC 3.0 .Net 4.0 13/01/2011
  • Unobtrusive javascript validation
  • Razor view engine
  • Global filters
  • Remote validation
  • Dependency resolver for IoC
  • ViewBag
MVC 4.0 .NET 4.0/4.5 15/8/2012
  • Mobile project template
  • Bundling and minification
  • Support for Windows Azure SDK
MVC 5.0 .NET 4.5 17/10/2013
  • Authentication filters
  • Bootstrap support
  • New scaffolding items
  • ASP.Net Identity
MVC 5.2.7 - Current .Net 4.8 18/04/2019
  • Attribute based routing
  • bug fixes and minor features upate

Hãy tạo ứng dụng MVC đơn giản đầu tiên trong phần tiếp theo.