Как скрыть путь к домашнему контроллеру в ссылках действий - PullRequest
1 голос
/ 22 сентября 2011

Используя готовое приложение MVC, ссылки действий под контроллером Home отображаются следующим образом:

@Html.ActionLink("Home", "Index", "Home")  > /
@Html.ActionLink("About", "About", "Home") > /Home/About

Как сделать все ссылки действий, которые попадают в HomeController, чтобы скрыть «Home» в путях ссылок.

* 1006 например *

@Html.ActionLink("About", "About", "Home")     > /About
@Html.ActionLink("Contact", "Contact", "Home") > /Contact
@Html.ActionLink("Sitemap", "Sitemap", "Home") > /Sitemap
@Html.ActionLink("Terms", "Terms", "Home")     > /Terms

Спасибо

Ответы [ 2 ]

2 голосов
/ 22 сентября 2011

Вы можете установить контроллер в своей части маршрута и удалить его из URL.Примерно так:

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

Посмотрите на этот ответ также.

1 голос
/ 17 апреля 2014

Вы можете создать различные маршруты в классе RouteConfig следующим образом:

routes.MapRoute(
                name: "AboutUs",
                url: "about-us",
                defaults: new { controller = "Home", action = "AboutUs" }
            );

Таким образом, когда URL-адрес / about-us будет вызывать действие AboutUs в контроллере Home.

...