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

TRAINING

[TUT]ASP.NET MVC 4.0 - Khám phá MVC Components và Map Routing

Được viết bởi webmaster ngày 23/07/2015 lúc 12:53 AM
Tìm hiểu thêm một số chức năng của MVC
  • 0
  • 7879

[TUT]ASP.NET MVC 4.0 - Khám phá MVC Components và Map Routing

Bài trước: 

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


Mục tiêu:
- Tìm hiểu thêm một số chức năng của MVC
- Request và Response của MVC Framwork
- Rule của ASP.NET MVC Application
- Cách làm việc Routing của ASP.NET MVC
- Các phương thức cơ bản của Global.asax và RegisterRoutes
- Map Routing: có hay không có tham số...
- Bài này giúp sử dụng cách nào để triệu gọi chứ không phải cách viết code

Chức năng của thành phần Controller
Nếu không cần triệu gọi tên mở rộng của trang web thì hình thức triệu gọi của nó khá thú vị, liên quan tới View, được điều khiển bởi 1 Controller hoặc nhiều Controller. Ứng với tên Controller nào(Action nào) phụ thuộc cấu trúc được khai báo.
Ví dụ: http://localhost:1313/Home/Index
Trên URL này, nó được khai báo trong Map Route hay còn gọi là Global.asax

Event, PostBack và ViewState trong MVC
- Tất cả giao diện người dụng thấy sẽ ở View, điều khiển bởi Controller, không có post back(vì không sử dụng Server Controll nữa), no view state(vì không sử dụng Server Controll nữa), không event trong vòng đời ứng dụng.

Request và Response
- Request thì gửi thông tin về phía server
- Reponse thì nhận thông tin từ phía server

Controller chịu trách nhiệm thực thi và hiện thực Request và Reponse.

Rule MVC Application
Chú ý Controller: 
Trong View nếu bạn có thư mục tên là Home, và trong thư mục chứa nhiều View Page có thể là aspx hoặc cshtml thì bạn phải có controller trùng tên với tiền tố như HomeController. Tức tiền tố là View, hậu tố là Controller. Đây là điều bắt buộc của MVC

Cách làm việc Routing của ASP.NET MVC
Tất cả cấu trúc URL đều được khai báo trong Global.ascx, chịu trách nhiệm ánh xạ đường dẫn trên trình duyệt.

Miêu tả MapRoute
- Domain là localhost/ip/tên máy/ tên miền
- Port là số cổng: sẽ không cần số cổng nếu web chạy cổng 80
- Home là thư mục con trong Views
- Home là tên của Controller(HomeController)
- Index là tên phương thức(hành động) trong class HomeController
- Id là tên tham số với giá trị tùy chọn

Ví dụ:
- Truy cập mặc định
 + http://domain[:port]/
 + http://domain[:port]/Home/
 + http://domain[:port]/Home/Index
 + http://domain[:port]/Home/Index/3
- Truy cập controller khác hoặc view
 + http://domain[:port]/Search/ => Mặc định View của Controller Search
 + http://domain[:port]/Search/Basic => Basic View của Controller Search

Truyền giá trị vào phương thức RegisterRoutes

routes.MapRoute(
"Default1","{controller}/{action}/{id}",
new {controller="Home", action="Index",
id= UrlParameter.Optional});

 + http://domain[:port]/Search/Advanced/MVC
 + http://domain[:port]/Search/Basic/MVC
 + http://domain[:port]/Home/Basic/MVC
 + http://domain[:port]/Account/Advanced/MVC

Nhiều tham số MapRoute

routes.MapRoute(
"Default2","{controller}/{action}/{id}/{pro}",
new {controller="Home", action="Index",
id= UrlParameter.Optional,pro=""});

 + http://domain[:port]/Search/Advanced/MVC/Nam
 + http://domain[:port]/Search/Basic/?id=me&pro=x
 + http://domain[:port]/Home/Basic/MVC/Hkg
 + http://domain[:port]/Account/Advanced/MVC/12

Sắp xếp tham số Routing

routes.MapRoute(
"Default1","{controller}/{action}/{id}/{c}",
new {controller="Home", action="View",
id= UrlParameter.Optional,c=UrlParameter.Optional});

routes.MapRoute(
"Default2","{controller}/{action}/{c}/{id}/{n}",
new {controller="Home", action="View",
c=UrlParameter.Optional,id= UrlParameter.Optional, n=UrlParameter.Optional});

Bài tiếp theo sẽ nói về ASP.NET MVC 4 Web Page được thiết kế bởi HtmlHelper Extension

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