Cấp bậc tác giả:

TRAINING

[TUT]ASP.NET MVC 4.0 - Giới thiệu cơ bản ASP.Net MVC and MVC 4 Framework

Được viết bởi webmaster ngày 22/07/2015 lúc 07:49 PM
Web Application(Client Server) cần có trình chủ Web(Web server - Hosting) và người dùng cần có ứng dụng web để triển khai lên nó. Có 2 ứng dụng là Internet(phục vụ cho thế giới) và Intranet(phục vụ doanh nghiệp hay số lượng đối tượng cụ thể có giới hạn - ai đăng ký thì mới có thể sử dụng).
  • 0
  • 13889

[TUT]ASP.NET MVC 4.0 - Giới thiệu cơ bản ASP.Net MVC and MVC 4 Framework

Mục tiêu:
- Khóa học này cung cấp kiến thức vững chắc
 + Giới thiệu MVC và các phiên bản MVC
 + Các tính năng và cấu trúc MVC
 + Các thành phần của MVC 4
 + Assembly và Namespace for MVC 4
 + Sự khác nhau giữa Web Forms và ASP.NET MVC 4
 + Yêu cầu cài đặt cho MVC 4
- Mỗi buổi sẽ đính kèm project nhỏ
Yêu cầu:
- Kiến thức về Visual Studio 2010 IDE và ngôn ngữ lập trình C#
- Kiến thức về HTML và JavaScript
- Khái niệm về internet và Intranet(biết về các ứng dụng này trong thực tế)
- Lập trình hướng đối tượng
- Lập trình kết nối cơ sở dữ liệu thông qua ADO.NET, LINQ to SQL và mô hình Entity

Mô hình

wb-application-01.jpg

Web Application(Client Server) cần có trình chủ Web(Web server - Hosting) và người dùng cần có ứng dụng web để triển khai lên nó. Có 2 ứng dụng là Internet(phục vụ cho thế giới) và Intranet(phục vụ doanh nghiệp hay số lượng đối tượng cụ thể có giới hạn - ai đăng ký thì mới có thể sử dụng). Dù sử dụng ứng dụng nào thì cũng phải sử dụng các ngôn ngữ - công nghệ, chẳng hạn như Perl, PHP, JSP, Java Servlet, JSF, Cold Fusion, ASP, công nghệ ASP.NET. Đồng thời theo đó là các FrameWork như PHP thì có PHP và Zend Word Press. Riêng ASP.NET thì có các nhánh như SSRS(dịch vụ báo cáo trong CSDL Server 2008, 2012), WPF(xây dựng Winform giao diện đẹp cấu trúc XAML), ASP.NET SharePoint, ASP.NET Web Forms, ASP.NET MVC

Giới thiệu ASP.NET 4 MVC 4.0
- ASP.NET 4 MVC 4.0 là một framework để phát triển ứng dụng Web theo mô hình MVC được định nghĩa bởi Model-View-Controller. Và framework này khuyến khích lập trình viên lập trình những ứng dụng web với qui mô lớn, được chia ra thành từng phần là UI - phần giao tiếp với người dùng riêng và phần điều khiển và tương tác với CSDL là phần Model, và phần tương tác giữa CSDL và người dùng thông qua Controller. Được xem giống như mô hình 3 tầng theo kiểu hàn lâm mà chúng ta đã từng học trong các trường Đại học và Cao đẳng.
- MVC 4.0 hỗ trợ lập trình cho ứng dụng Mobile
- ASP.NET MVC là 1 phần của ASP.NET Web application framework
- ASP.NET MVC là 1 công nghệ mới của ASP.NET platform, nó không thay thế cho Web form. Vì mỗi công nghệ có một điểm mạnh hay điểm hạn chế riêng. Góc nhìn về cách lập trình này nói chung về cú pháp và hình thức để cấu trúc cái ứng dụng về mặt kỹ thuật là khác nhau.

Mô hình ASP.NET 4 MVC 4.0
- Là mô hình chuẩn cho ứng dụng Web mà bất kỹ hãng nào cũng có thể xây dựng phát triển ngôn ngữ, dựa theo để phát triển ứng dụng web.
- MVC sử dụng cho PHP, ASP.NET, JAVA và Joomla CMS
- MVC được coi là mô hình 3 tầng.

model-view-controller-02.jpg

ASP.NET 4 MVC 4.0 - Model Component

model-view-controller-detail-03.jpg

Yêu cầu của người dùng thường xuất phát từ View, View sẽ nhờ Controller để điều khiển các hành động, các giao tiếp, chuyển những thông tin từ Model xuống Cơ sở dữ liệu, tương tự như vậy, từ CSDL, thông qua Model thì Controller sẽ điều khiển để hiển thị trên View. Chắc chắn View đang sử dụng bằng HTML(Server Control). Controller là phần sử dụng Code Behind, phần Model sử dụng ADO.NET hoặc LINQ hoặc Entity.

- Các đối tượng Model là các thành phần cài đặt giống như business logic ở trong cơ chế nhiều tầng.
- Các đối tượng Model dùng để đưa dữ liệu lên, hoặc lấy dữ liệu xuống.
- Ví dụ, đối tượng Product(xây dựng Class làm việc thông qua Model hoặc Linq hoặc Entity) cố gắng lấy thông tin từ CSDL, tổ chức nó và cập nhật bảng Product trong SQL Server

MVC - View Component
- Thành phần View là thành phần giao tiếp với người sử dụng, dùng để hiện thực phần trình bày cho người xem
- UI HTML tags: No ViewSate
- UI với Server Control: Có thể phải có ViewState

MVC - Controller Component
- Controller là thành phần handle các hành động của người dùng để làm việc với model, và giao tiếp với phần View, là cầu nối giữa View và Model.

Hình dung lại CMS(quản trị nội dung) và Web
- CMS
 + NET: DOTNET NUKE(không phải của Microsoft)
 + PHP: Joomla hoặc Wordpress
- Dotnet Nuke
 + Mã nguồn mở
 + Sinh ra bởi C# và Visual Basic.NET
 + Hoàn thành ứng dụng
   . Cài đặt và thực thi
   . Sửa đổi và thêm tính năng
Đối với ASP.NET MVC có phải là mã nguồn mở? Nó không được định nghĩa như là Open Source mà nó được định nghĩa là 1 framework - 1 công nghệ trong Microsoft cho phép bạn phát triển ứng dụng web dựa trên công nghệ MVC và sau đó đóng gói và public cho người dụng public- cài đặt trên ứng dụng web. 

MVC Namespaces
- MVC framework được định nghĩa System.Web.Mvc assembly và System.Web.Mvc namespace
- Đã hỗ trợ System.Web

Chú ý:
- Xóa các reference
System.Web.Mvc(v3.0.0.0); System.Web.Razor(v1.0.0.0)
System.Web.WebPages(v1.0.0.0)
System.Web.WebPages.Deployment(v1.0.0.0)
System.Web.WebPages.Razor(v1.0.0.0)
- Thêm các reference
System.Web.Mvc(v4.0.0.0); System.Web.Razor(v2.0.0.0)
System.Web.WebPages(v2.0.0.0)
System.Web.WebPages.Deployment(v2.0.0.0)
System.Web.WebPages.Razor(v2.0.0.0)

Tính năng của ASP.NET MVC 4
- Thành phần tổ chức MVC bao gồm input logic, business logic và UI logic
- Có thể làm unit-test trong Visual Studio 2008/2010/..
- Nhúng AJAX
- Có thể sử dụng mã Razor hoặc ASPX cho View
- Controller tích hợp với Entity Model

So sánh giữa Web Form và MVC
- Hai kiểu ASP.NET MVC(ASPX, Razor)
- Hỗ trợ cho việc sử dụng mở rộng trang ASP.NET(.aspx/cshtml), sử dụng user control(.ascx) và master page(.master/cshtml).
- Bạn có thể sử dụng các tính năng của ASP.NET với framework ASP.NET MVC, giống như master page, cú pháp (<%= %>)
- Vẫn hỗ trợ ASP.NET Form với những đặc điểm như form authentication, Window authentication, URL authorization, membership và role, output và data caching, session, quản lý thông tin trạng thái(điều này giúp trang web nhẹ đi đáng kể), health monitoring, configuration system(web.config), kiến trúc provider
- Ánh xạ - mapping điều khiển do Controller

Lợi ích của MVC Web App
- Cách lập trình biến cố - chẳng hạn như đang có 1 nút trên web form, có thể nhấn đúp để nhảy qua trang viết hàm cho nút đó. MVC không sử dụng Server Control nữa.
- MVC không sử dụng view state hoặc server-based form

Chọn ASP.NET Web Form hay MVC
- ASP.NET MVC
 + Internet Application(publish) như báo VNExpress
 + Content Management System(CMS)
 + News, Profile, Forum, Collaboration
 + Intranet Application: E-Commercial(thương mại điện tử)
- ASP.NET Web Form
 + Internet Application
 + CMS
 + News, Profile, Forum, Collaboration
 + Intranet Application

Các phiên bản MVC
- ASP.NET MVC 1.0/2.0 cung cấp framework Model-View-Controller trên ASP.NET 3.5
- ASP.NET MVC 3 là framework phát triển cao hơn
- ASP.NET MVC 4.0 cung cấp framework Model-View-Controller trên ASP.NET 4.0 trên Visual Studio 2010

Yêu cầu cấu hình MVC 4.0
- Hỗ trợ trên hệ điều hành Windows 7, WIndows Vista SP2, WIndows XP SP3+, Windows Server 2003 SP2+, Windows Server 2008, Windows Server 2008 R2

Tạo new Project MVC 4.0

create-project-04.jpg

Chọn Project Template - mặc định Internet Application
Để hiện thực phần View để chọn cách viết mã ASPX hay Razor

project-template-05.jpg

Bố trí thư mục và tập tin trong MVC 4
- Content
- Controller
- Model
- View
- Scripts
- Global.asax
- Web.config
- Packages.config
- References

Làm ví dụ
- Tạo MVC Application với ASPX Empty bằng cách: New > Projects > MVC 4 Application > Đặt tên(VD: HelloMVCApplication) > Empty > ASPX
- Tạo HelloModel bằng cách: chuột phải lên thư mục Model, chọn Add > Class > Đặt tên là HelloModel.cs
- Khai báo các thuộc tính cho HelloModel
- Khai báo Hàm cho HelloModel

model-component-06.jpg

- Tạo thư mục Home trong View và Index.aspx bằng cách: chuột phải thư mục View, chọn Add > New Folder > Đặt tên là Home > chuột phải lên thư mục Home mới tạo chọn Add > View > với tùy chọn Aspx và đặt tên là Index(Chưa có Master thì bỏ chọn Master)
- Viết Code cho trang aspx như hình

index.aspx-07.jpg

- Tạo HomeController(để điều khiển giữa View và Model), chú ý vì View có Home, nên phải đặt tên là HomeController bằng cách chuột phải vào thư mục Controller, chọn Add > Controller > Đặt tên Controller name là HomeController với Template mặc định Empty MVC controller. Trước mắt như vậy đã.
Trọng HomeController, tại Hàm ActionResult Index() viết code như hình(nhớ using Models nhé)

Home-Controller-08.jpg

Chạy ASP.NET 4.0 MVC 4

run-mvc-09.jpg

Chú ý nếu gặp lỗi, phải vào trong glocal.asax để định nghĩa lại action và controller cho phù hợp với cái tên mà chúng ta đặt.

Ngoài ViewData còn có ViewBag tự định nghĩa(đây là cái mới trong MVC 4.0). Dành cho loại ASP.NET MVC Razor sử dụng @ thay vì <%= %> như ASP.NET thường.

Nguồn bài viết: DOTNET.VN

BÌNH LUẬN BÀI VIẾT

Bài viết mới nhất

LIKE BOX

Bài viết được xem nhiều nhất

HỌC HTML