Asp.net mvc 手动创建参数ReturnUrl

Asp.net mvc 手动创建参数ReturnUrl,asp.net-mvc,returnurl,Asp.net Mvc,Returnurl,我有类似“home/details/5”的视图,它可以被匿名用户访问。但有一个按钮,只有注册用户才能按下。没问题,我可以查看Request.IsAuthenticated,如果匿名,我会显示按钮login而不是secret按钮 但问题是,当按下login键时,我可能会丢失页面的地址和参数。如何创建登录按钮并传递参数ReturnUrl?差不多 <%= Html.ActionLink("enter to buy", "LogOn", "Account", new { ReturnUrl =

我有类似“home/details/5”的视图,它可以被匿名用户访问。但有一个按钮,只有注册用户才能按下。没问题,我可以查看Request.IsAuthenticated,如果匿名,我会显示按钮login而不是secret按钮

但问题是,当按下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 })%>