Вопрос

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