Перенаправить на метод контроллера через атрибут href - PullRequest
0 голосов
/ 04 августа 2020

Я разрабатываю базовое веб-приложение ASP. NET и хочу перенаправить пользователя на метод контроллера. Однако следующая строка кода не работает (я думаю, ничего не происходит из-за отсутствия атрибута href):

<a class="btn btn-outline-dark" asp-controller="Accounts" asp-action="Logout">Sign out</a>

Это тоже не работает:

<a href="@Url.Action("Logout", "Accounts")" class="btn btn-outline-dark">Sign out</a>

Но это работает:

<a href="/Accounts/Logout" class="btn btn-outline-dark">Sign out</a>

Мне просто интересно, считается ли перенаправление непосредственно к методу контроллера через атрибут href хорошей практикой или есть потенциальная альтернатива, которую я мог бы попробовать.

Это сгенерированная разметка трех строк кода. Рабочая строка кода посередине. Вариант действия asp -контроллера asp находится вверху, а @ Url.Action - внизу

Рабочая строка кода посередине. asp -controller asp -вариант действия вверху и @ Url.Action внизу

1 Ответ

0 голосов
/ 04 августа 2020

@Url.Action () -> Содержит типовые ссылки; url.Action (string ActionName, string controllerName, object routeValues, string protocol, string hostName)

href = "/ Accounts / Logout" -> имеет только имя ссылки

, но если вы отправите id например: <a href="@Url.Action("Edit", new { Model.id})"

можно так использовать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...