[MVC5 Series - P1] Giới thiệu về ASP.NET MVC 5

Giới thiệu

MVC không phải là một mô hình lập trình mới lạ gì, và thậm chí, nó còn ra đời từ rất sớm. Có thể nói ASP.NET MVC là mô hình lập trình web chiến lược của Microsoft. Do đó, đối với những ai yêu mến và đi theo .NET, phát triển ứng dụng web với ASP.NET MVC sẽ là một kỹ năng không thể thiếu được.
Mình sẽ cố gắng xây dựng một chuỗi bài "hướng dẫn cơ bản" về ASP.NET MVC5 (và từ giờ sẽ nói ngắn gọn là MVC5 vì mình chỉ chơi với .NET). Mục tiêu của chuỗi bài này là để hướng dẫn, tham khảo và chia sẻ các kiến thức liên quan đến MVC5 dành cho tất cả mọi người, và cố gắng viết theo ngôn ngữ "bình dân" nhất để những ai mới làm quen không bị bỡ ngỡ. Và điều quan trọng, đi kèm với những bài giới thiệu và các ví dụ demo để các bạn hiểu rõ hơn vấn đề.

Yêu cầu

Cài đặt chương trình

  1. Visual Studio 2013 (phiên bản mình đang dùng) hoặc Visual Studio 2013 Express for Web (nhẹ + miễn phí). Sở dĩ cần cài đặt VS 2013 là vì nó tạo project MVC5, còn VS 2010 + 2012 là MVC4 (hình như thế, muốn biết thì cứ thử). Điều khác nhau cơ bản giữa MVC4 với MVC5 là MVC5 được tích hợp sẵn Bootstrap trong đó, còn MVC4 thì không.
  2. SQL Server 2012 (phiên bản mình đang dùng), hoặc SQL Server 2008 cũng tốt.
  3. Cần gì nữa thì sẽ cài đặt lúc cần.

Recommended

  1. Nếu bạn đã học webform, đừng để tư tưởng của webform xen lẫn vào MVC. Hãy coi như 2 cái đó là 2 thứ hoàn toàn khác biệt (mặc dù tương tự) và đừng so sánh webform với MVC, vậy sẽ dễ tiếp thu hơn.
  2. Bạn phải biết các kiến thức HTML/CSS/JS cơ bản.
  3. Điều quan trọng là đọc đến đâu hãy làm đến đấy.
  4. Sẽ có lúc bạn đụng đến thứ bạn chưa biết, hãy coi như điều đó là đúng và bạn sẽ được giải thích ở sau.
  5. Tất nhiên, có thể đôi lúc mình không chính xác nên rất hoan nghênh tinh thần đóng góp và chia sẻ của mọi người.
  6. Bây giờ hãy cùng bắt tay làm quen với MVC5 nào...

Mô hình MVC

Theo mô hình MVC, việc xử lý yêu cầu người dùng được chia thành 3 thành phần tách biệt nhau:
CONTROLLER Tiếp nhận và xử lý yêu cầu từ người dùng. Nếu cần làm việc với CSDL sẽ nhờ đến Model, sau đó chuyển tiếp sang View.
VIEW Tiếp nhận Model từ Controller để sinh giao diện phù hợp và hiển thị.
MODEL Chứa dữ liệu chia sẻ giữa Controller và View.

Project MVC5

Ở phần Authentication, lựa chọn mặc định là Individual User Account, là dự án internet bao gồm phần Security của MVC5. Một số chế độ khác như No Authentication là dự án không bao gồm Security, Windows Authentication là dự án bao gồm Security nhưng quản lý trên mạng nội bộ và Organizational Accounts là loại dự án sử dụng tài khoản từ cloud computing.

Solution Explorer

Một số thành phần cơ bản trong project MVC5

  1. App_Data: chứa CSDL nội bộ (nếu có).
  2. App_Start: chứa các class chạy tại thời điểm ứng dụng bắt đầu, các class này được gọi trong Application_Start của file Global.asax.
  3. Content: nội dung tĩnh như css, hình ảnh...
  4. Controllers: chứa Controllers của project.
  5. fonts: font mở rộng cho project.
  6. Models: chứa model của project.
  7. Scripts: chứa javascript, các thư viện js download từ Nuget Package.
  8. Views: Chứa các view giao diện.
  9. Global.asax: định nghĩa các sự kiện quản lý vòng đời ứng dụng.
  10. Web.config: thông tin cấu hình cho project.

Thử chạy project lên và xem kết quả.

Responsive layout

Chú ý

Như đã nói ở trên, việc hiển thị ra giao diện là phần việc của View. Do đó ta có thể chạy trực tiếp từ View bằng các cách sau

Cách 1: F5 hoặc Ctrl + F5

Cách 2: R-click vào 1 View và chọn View in Browser

Cách 3 (giống cách 2): R-click trong 1 View và chọn View in Browser

Mình khuyên các bạn nên dùng theo cách 2 hoặc 3, vì khi cập nhật giao diện hay chỉnh sửa code, chỉ cần Refresh lại browser là được.

Nguồn tham khảo

Có rất nhiều nguồn tham khảo, nhưng những gì mới và đang tìm hiểu mà càng xem nhiều nguồn thì càng rối. Tuy vậy, các nguồn sau không thể không để tâm:

Kết

Khá đơn giản phải không? Bài này mình sẽ dừng lại ở đây. Nếu các bạn "táy máy", có thể tự lục lọi vài thứ trong project thử xem.

Comments

Post a Comment

Popular posts from this blog

Gỡ bộ Visual Studio ra khỏi máy tính

Căn giữa thẻ div trong thẻ div