създайте ръчно параметър ReturnUrl

имам изглед като 'home/details/5', той може да бъде достъпен от анонимен потребител. но има бутон, който може да се натиска само от регистрирани потребители. няма проблем, мога да разгледам Request.IsAuthenticated и ако е анонимен, показвам бутон за влизане вместо таен бутон

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

но не ми харесва да кодирам имена на контролера


person kusanagi    schedule 17.03.2010    source източник


Отговори (1)


Можете също да използвате Request.Url.AbsolutePath.

<%= Html.ActionLink("enter to buy", "LogOn", "Account", 
    new { ReturnUrl = Request.Url.AbsolutePath })%>
person Çağdaş Tekin    schedule 17.03.2010