Tôi nghĩ rằng cách tốt nhất là:
routes.MapRoute("home", "home", new { controller = "Home", action = "Index" });
routes.MapRoute("about", "about", new { controller = "Home", action = "About" });
routes.MapRoute("contact", "contact", new { controller = "Home", action = "Contact" });
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
và khi bạn muốn tạo ra một liên kết, sử dụng:
@Html.RouteLink("Home", "home", new{/* route values */}, new {/* html attribues */})
OR:
@Html.RouteLink("Home", "home")
thay vì:
@Html.ActionLink("Home", "Index", "Home", new{/* route values */}, new {/* html attribues */})
tính năng này phù hợp với tôi và cũng sẽ phù hợp với bạn.
UPDATE:
bạn có thể tạo một biểu tượng như @
(hoặc -
hoặc bất cứ điều gì khác), trước khi action
phần trong url, để làm cho url độc đáo, chẳng hạn như:
routes.MapRoute(
"test", // route name
"@{action}", // url and parameters
new {controller = "MyHome", action = "Home"} // parameter defaults
);
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
theo cách này, các url của bạn khác với Tuyến đường bản đồ mặc định và bạn có thể tạo các url như:
site.com/@Home
site.com/@About
site.com/@Contact
nhưng ý tưởng đầu tiên của tôi là tốt hơn và tôi luôn sử dụng điều đó.
routes.MapRoute ("Mặc định", "{action}", mới {controller = "Home", action = "{action}"}); –