ActionLink后退按钮

时间:2011-01-13 22:36:18

标签: asp.net-mvc actionlink

我有一个双重职责的索引方法,显示帖子列表和查询的帖子列表,也可以有页面,以便您获得/News/Page/1/News?query=test

等网址

当用户点击News/Details/1的帖子时,他们会获得一个简单的ActionLink,将他们带回列表。但是我想要这个链接将它们带回到它们在分页或查询方面所处的实际页面。我怎么能这样做?我不想使用JavaScript历史记录方法。这是我当前的ActionLink:<%=Html.ActionLink("<< Back to News List", "Index")%>,这是分页链接的一个示例:<%= Html.RouteLink("<< First Page", "NewsPaging", new { query = ViewData["query"], page = 0 })%>

由于

3 个答案:

答案 0 :(得分:10)

使用javascript将它们发送回历史记录的最后一页可能会更容易(无需创建指向特定页面的链接)。

history.go(-1)

答案 1 :(得分:4)

我会选择像

这样的ActionLink
<%=Html.ActionLink("<< Back to News List", "Index")%>

因为用户可以直接访问News/Details/1,如果您有一个使用history.go(-1)history.back()功能的链接,则不会将其重定向到索引操作

答案 2 :(得分:0)

另一种方法是在控制器中创建链接并将其分配给模型的属性或简单的ViewBag变量(由您决定)。对于这个例子,我将使用ViewBag。

因此,在您的示例中,从/News/Details/1返回/News/Page/1?some-querystring,您可以执行以下操作:

在你的控制器中(假设'1'是'id'):

ViewBag.BackButton = String.Format("/News/Page/{0}{1}", id.ToString(), Request.Url.Query);

在您看来:

<a href="@ViewBag.BackButton">&lt; Back</a>

回过头来看,你必须知道上一页/可能是什么。在你的情况下,你希望你的后退按钮回到你的列表,所以这种技术应该没问题。