Неверное создание ссылки на главную страницу – архитектура s#arp

StackOverflow https://stackoverflow.com//questions/9664834

  •  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
)
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top