手动创建参数ReturnUrl

时间:2010-03-17 02:10:26

标签: asp.net-mvc 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"] })%>

但我不喜欢硬编码控制器名称

1 个答案:

答案 0 :(得分:5)

您也可以使用Request.Url.AbsolutePath

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