неправильная генерация ссылки на главную страницу - архитектура s # arp - PullRequest
0 голосов
/ 12 марта 2012

Я использую архитектуру s # arp 2.0 с asp.net mvc 3.0. Код бритвы на главной странице выглядит следующим образом:

 @Html.ActionLink("Logout", "LogOff", "Users", new { style = "color:Blue;" })

По какой-то причине приложение больше не создает правильную ссылку (на выход из системы действий пользователей контроллера), а скорее указывает на текущий контроллер для выхода из действия. Я ничего не изменил. где я должен копать, чтобы преодолеть это, пожалуйста?

Сгенерированная ссылка выглядит так:

CurrentControllerName / LogOff? Длина = 5

1 Ответ

5 голосов
/ 12 марта 2012

Вы вызываете неправильную перегрузку помощника ActionLink. Вот что вы делаете:

@Html.ActionLink(
    "Logout",                         // linkText
    "LogOff",                         // actionName
    "Users",                          // routeValues
    new { style = "color:Blue;" }     // htmlAttributes
)

Довольно очевидно, почему это не дает правильный URL. Вы передаете "Users", который является строковым значением в месте, где помощник ожидает routeValues, который должен представлять анонимный объект.

Правильная перегрузка :

@Html.ActionLink(
    "Logout",                         // linkText
    "LogOff",                         // actionName
    "Users",                          // controllerName
    null,                             // routeValues
    new { style = "color:Blue;" }     // htmlAttributes
)
...