создайте вручную параметр returnUrl
-
20-09-2019 - |
Вопрос
у меня есть представление типа "home / details / 5", к нему может получить доступ анонимный пользователь.но есть кнопка, которую могут нажать только зарегистрированные пользователи.нет проблем, я могу просмотреть запрос.Аутентифицирован, и если анонимный, я показываю кнопку входа вместо секретной кнопки
но проблема - при нажатии login я могу потерять адрес и параметры страницы.как я могу создать кнопку входа в систему и передать параметр returnUrl ?что - то вроде
<%= Html.ActionLink("enter to buy", "LogOn", "Account", new { ReturnUrl = path to view with route value })%>
я вижу только глупое решение
<%= Html.ActionLink("enter to buy", "LogOn", "Account", new { ReturnUrl = "home/details/" + ViewContext.RouteData.Values["id"] })%>
но мне не нравится жестко кодировать имена контроллеров
Решение
Вы также можете использовать Request.Url.AbsolutePath
.
<%= Html.ActionLink("enter to buy", "LogOn", "Account",
new { ReturnUrl = Request.Url.AbsolutePath })%>
Не связан с StackOverflow