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
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
Đâ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
rất hay và bổ ích, mong chờ phần tiếp theo của admin
Trả lờiXóa