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

时间:2013-08-27 12:48:44

标签: asp.net-mvc asp.net-mvc-4 routing html.actionlink

目前正在链接中

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

我有以下视图代码

@Html.ActionLink("Back to List", "Index")

带我到这个链接

customer/businessunit/index

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

Customer/businessunit/BusinessUnitDetails/c4a86253-a287-441e-b83d-71fbb6a588bc

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

这样的东西

6 个答案:

答案 0 :(得分:59)

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

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

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

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

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

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

答案 1 :(得分:37)

如果您仍想使用ActionLink,可以执行JuanPieterse

建议的操作
@Html.ActionLink("Back to previous page", null, null, null, new { href = Request.UrlReferrer})

您也可以在action中使用controller。查看类似问题here

的答案

答案 2 :(得分:11)

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

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

...将用户带回当前页面之前的任何地方

答案 3 :(得分:10)

如果您不想使用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>

答案 4 :(得分:1)

这是事后的事,但我想我会做出贡献。就个人而言,我会用CSS类标记我的标记元素,这样我就可以重用标记并完成它。

标记:

<a href="" class="go_back"> Back </a>

脚本:

<script type="text/javascript">
    $(function () {
        $('.go_back').click(function (e) {
            e.preventDefault();
            history.go(-1);
        });
    });
</script>

答案 5 :(得分:1)

使用ActionLink:

@Html.ActionLink("بازگشت", null, null, null, new { href = Request.UrlReferrer })