Неверное создание ссылки на главную страницу – архитектура s#arp
-
12-12-2019 - |
Вопрос
Я использую архитектуру s#arp 2.0 с asp.net mvc 3.0.Код Razor на главной странице выглядит следующим образом:
@Html.ActionLink("Logout", "LogOff", "Users", new { style = "color:Blue;" })
По какой-то причине приложение больше не создает правильную ссылку (на выход из системы пользователей контроллера), а скорее указывает на текущий контроллер для выхода из системы.Я ничего не изменил.где мне нужно копать, чтобы преодолеть это, пожалуйста?
Сгенерированная ссылка выглядит следующим образом:
ТекущееИмяКонтроллера/Выход из системы?Длина=5
Решение
Вы звоните неправильная перегрузка помощника 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
)