Chuyển đến nội dung chính

Bài 4 Routing trong ASP.NET MVC học lập trình web ASP.NET MVC

ASP.NET Routing

ở bài trước thì mình đã giới thiệu cho các bạn qua về vòng đời cũng như cấu trúc của một ứng dụng web asp.net mvc ở trong phần này chúng ta sẽ tìm hiểu rõ hơn về nó. tuy là lý thuyết nhưng các bạn phải biết thì đọc code mới hiểu được

ASP.NET Routing cho phép hệ thống hiểu người dùng muốn gì, thông qua url (Liên kết) nó mô tả hành động của người dùng một cách chi tiết.
trong phần này chủ yếu là các bạn hiểu khi người dùng gõ một cái link trong trình duyệt hệ thống sẽ điều hướng người dùng như thế nào thui

đây là một phương pháp mà có nhiều công nghệ cũng tương tự, nó giống như một cái bản đồ vậy, sẽ thật dễ dàng nếu chúng ta đi đường mà có bản đồ đúng không và cấu trúc của một cái url sẽ đại loại như thế này

http://server/application/Products.aspx?id=4
Các bạn có thể thấy cấu trúc như kiểu thư mục ấy 
 ở trong ASP.NET routing các bạn có thể định nghĩa một khuôn mẫu để sử lý các yêu cầu của người dùng nhưng không nhất thiết các bạn phải đặt tên của các tệp đó trong url.
Ví dụ bên trên http://server/application/Products.aspx?id=4  
Products.aspx 
các bạn không nhất thiết phải đặt trùng với tên file nhưng vẫn có cơ chế để hệ thống hiểu các bạn làm việc với file này.

URL Patterns (Khuôn mẫu liên kết)


một url nó giống như địa chỉ trong nhà của bạn vậy. mình xin ví dụ một ví dụ không biết có dễ hiểu hay không như sau.

bên trên là cái nhà của bạn ở trong nhà bạn có 3 căn phòng mình ví dụ thế ( bên trên không có phòng ngủ =)) chắc bạn ngủ ở nhà WC cũng k sao đâu)
bây giờ mình đến nhà bạn, ví dụ địa chỉ nhà bạn là ĐỊA_CHỈ_NHÀ_BẠN.COM 
bây giờ mình muốn đến phòng khách của các bạn thì chỉ cần 
ĐỊA_CHỈ_NHÀ_BẠN.COM/HOME/Phong_khach   
Hết sức đơn giản đúng không các bạn chú ý nhé, bọn nó được phân cách nhau bởi một ký tự ký tự này là lý tự /

Mẫu URL điển hình trong ASP.NET MVC

Khi mà trang web của các bạn nhận một request từ phía người dùng thông qua routing nó sẽ nhẩy vào controller tương tứng vậy cái controller nó ở đâu trong cái url này
ĐỊA_CHỈ_NHÀ_BẠN.COM/HOME/Phong_khach   
chính là cái HOME kia kìa.



và bây giờ các bạn mở file RouteConfig.cs lên
Đây là nội dung code trong file này

public static void RegisterRoutes(RouteCollection routes)

đây là một hàm static vậy có nghĩa là nó sẽ được khởi tạo ngay khi ứng dụng của các bạn khởi chạy.
Lớp RouteCollection  


Cung cấp các phương thức để các bạn có thể làm việc với các Route (các tuyến đường)
 routes.IgnoreRoute("{resource}.axd/{*pathInfo}");


Dòng lệnh bên trên có hàm IgnoreRoute() là một phương thức trong  lớp  RouteCollection   dùng để chặn một số tuyến đường (nôm la là một số đường link bạn muốn chặn để không vào controller sử lý ấy mà)
nó sẽ chặn mọi file có phần mở rộng .axd
Khi có một ngoại lệ xảy ra nó sẽ trả về NULL




routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);


đây là một hàm mình ví nó như một ông thuyền trưởng vậy hàm này sẽ điều hướng những yêu cầu đến controller nào để sử lý tương ứng với action nào mà mình sẽ đề cập đến các bạn trong những phần sau.

hàm này có một số tham số như là tên của điều hướng, mẫu url chính là cái url"{controller}/{action}/{id}"
default chính là mặc định nó sẽ trỏ đến controller home và action là index

Vậy là mình đã hướng dẫn qua cho các bạn về routing trong ASP.NET MVC ở phần sau mình sẽ hướng dẫn cho các bạn về những phần sau cảm ơn các bạn

Nhận xét

Đăng nhận xét

Bài đăng phổ biến từ blog này

Bài 3 Vòng đời của một ứng dụng asp.net MVC cơ bản

Vòng đời của một ứng dụng ASP.NET MVC  Ở trong phần này mình sẽ hướng dẫn các bạn hiểu về vòng đời của một ứng dụng ASP.NET MVC

Bài 2 - Kiến trúc của mô hình MVC mô hình MVC là gì

Mô hình MVC là gì ? MVC viết tắt của Model - View - controller đây là một mẫu thiết kế được sử dụng nhiều trong các ngôn ngữ lập trình khác. Và nó cũng được microsoft hỗ trợ đối với công nghệ dot.net