在html.actionlink上单击转到上一页

Cyb*_*cop 31 asp.net-mvc routing html.actionlink asp.net-mvc-4

目前正在链接中

Customer/businessunit/RepresentativeDetails?RepresentativeId=cd3a7263-78f7-41bd-9eb0-12b30bc1059a

我有以下代码供查看

@Html.ActionLink("Back to List", "Index")
Run Code Online (Sandbox Code Playgroud)

它带我到这个链接

customer/businessunit/index
Run Code Online (Sandbox Code Playgroud)

而是转到索引页面我想在单击actionlink时转到上一页,这是

Customer/businessunit/BusinessUnitDetails/c4a86253-a287-441e-b83d-71fbb6a588bc
Run Code Online (Sandbox Code Playgroud)

如何创建指向上一页的动作链接?就像是@Html.ActionLink("Back to Details", //go to previous page)

Dav*_*vid 67

除非您正在跟踪服务器上的上一页,为什么不使用浏览器的内部历史记录呢?在这种情况下,不需要服务器端代码.你可以使用这样的东西:

<a href="javascript:void(0);" onclick="history.go(-1);">Back to Details</a>
Run Code Online (Sandbox Code Playgroud)

或者,将代码与标记分开:

<a href="javascript:void(0);" id="backLink">Back to Details</a>

<script type="text/javascript">
    $(document).on('click', '#backLink', function () {
        history.go(-1);
    });
</script>
Run Code Online (Sandbox Code Playgroud)

这会将用户发回到浏览器历史记录中的最后一页.(当然,如果他们从任何其他来源到达那个页面,那么它不会"回到细节",而只是"回到".)


AIM*_*AIM 40

如果您仍想使用ActionLink,可以按照JuanPieterse的建议进行操作

@Html.ActionLink("Back to previous page", null, null, null, new { href = Request.UrlReferrer})
Run Code Online (Sandbox Code Playgroud)

您可以使用actioncontroller了.在这里查看类似问题的答案


Rob*_*evy 12

不要为此使用ActionLink ......只需:

<a href="javascript:history.back()">Back to List</a>

...将用户带回当前页面之前的任何位置


Sta*_*ked 11

如果您不喜欢使用ActionLink或JavaScript,那么href="@Request.UrlReferrer"就可以了:

<div>
    <a href="@Request.UrlReferrer" class="btn btn-default btn-lg" title="Back to list">
        <span class="glyphicon glyphicon-arrow-left" aria-hidden="true"></span>
    </a>
</div>
Run Code Online (Sandbox Code Playgroud)