2010-03-17 3 views
2

У меня есть вид «дом/детали/5», это может быть доступ анонимного пользователя. но есть кнопка, которая может быть нажата только зарегистрированными пользователями. не проблема, я могу посмотреть в Request.IsAuthenticated, и если анонимный я покажу кнопку входа в систему вместо секретной кнопкисоздать параметр вручную ReturnUrl

, но проблема - при нажатии логина я могу потерять адрес и параметры страницы. как я могу создать кнопку входа и передать параметр 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"] })%> 

, но я не люблю жестких кличками контроллера

ответ

5

Вы также можете использовать Request.Url.AbsolutePath.

<%= Html.ActionLink("enter to buy", "LogOn", "Account", 
    new { ReturnUrl = Request.Url.AbsolutePath })%>