ASP.NET MVC 3 - Как я могу направить прямо к действию - PullRequest
0 голосов
/ 05 октября 2011

У меня есть контроллер HomeController с действиями Index (), MethodOne () и MethodTwo (). Каждый из них просто возвращает View () на данный момент. Когда я создаю ссылку действия с кодом:

@Html.ActionLink("Home", "Index", "Home")

Я получаю гиперссылку:

<a href="/">Home</a>

Это хорошо, однако использование того же метода расширения ActionLink для маршрутизации. MethodOne Я получаю гиперссылку:

<a href="/Home/MethodOne">MethodOne</a></li>

Что мне нужно настроить, чтобы мой сайт принимал гиперссылку «/ MethodOne», в настоящее время это возвращает 404. У меня есть подозрение, что это может быть связано с маршрутизацией. Моя таблица маршрутизации в настоящее время используется по умолчанию:

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

1 Ответ

3 голосов
/ 05 октября 2011

Вам нужен маршрут как:

routes.MapRoute(
    "MethodOne", //Your route name.
    "methodone", //What your browser/user will see at the URL bar: localhost.com/methodone 
    new { controller = "Home", action = "MethodOne" } //What MVC3 will route to.
);

Это отобразит и перехватит запрос к методу действия Home/MethodOne.

...