Маршрут не правильно сегментирован - PullRequest
1 голос
/ 17 сентября 2011

Я определил ссылку на мой взгляд:

@Html.ActionLink("Baxter", "Label", new { LabelName = "Baxter" })

Я определил маршрут для перехвата этой ссылки следующим образом:

        routes.MapRoute(
        "Search Affaire Only Label", // Route name
        "{controller}/Label/{LabelName}", // URL with parameters
        new { controller = "Affaire", action = "SearchAffaires", LabelName = UrlParameter.Optional } // Parameter defaults
        );

Ссылка работает, но URL-адрес неправильно сегментирован в адресной строке, как показано ниже:

http://localhost:3817/Affaire/Label?LabelName=Baxter

Я думал, что URL будет отформатирован так:

http://localhost:3817/Affaire/Label/Baxter

Что не так? Есть идеи?

Спасибо.

1 Ответ

1 голос
/ 17 сентября 2011

В вашем якоре вы передаете Label в качестве имени действия (второй аргумент помощника ActionLink), тогда как в своем определении маршрута вы определили действие SearchAffaires. Так что либо исправьте свой якорь, также включив контроллер:

@Html.ActionLink("Baxter", "SearchAffaires", new { LabelName = "Baxter" })

или более явно дайте имя контроллера, чтобы избежать двусмысленности:

@Html.ActionLink("Baxter", "SearchAffaires", "Affaire", new { LabelName = "Baxter" }, null)

или измените определение маршрута, чтобы использовать действие Label на контроллере Affaire.

...