我認爲最好的方法是:
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
);
,當你想創建一個鏈接,使用:
@Html.RouteLink("Home", "home", new{/* route values */}, new {/* html attribues */})
OR:
@Html.RouteLink("Home", "home")
代替:
@Html.ActionLink("Home", "Index", "Home", new{/* route values */}, new {/* html attribues */})
這適用於我,也應該爲你工作。
UPDATE:
,你可以創建一個像@
(或-
或其他任何東西)的象徵,在URL中的action
部分之前,以唯一網址,如:
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
);
這樣,您的網址與默認地圖路線不同,您可以創建類似以下網址:
site.com/@Home
site.com/@About
site.com/@Contact
但在我的想法中,第一個更好,我總是使用它。
routes.MapRoute(「Default」,「{action}」,new {controller =「Home」,action =「{action}」}); –