我有像'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"] })%>
但我不喜欢硬编码控制器名称
答案 0 :(得分:5)
您也可以使用Request.Url.AbsolutePath
。
<%= Html.ActionLink("enter to buy", "LogOn", "Account",
new { ReturnUrl = Request.Url.AbsolutePath })%>