2011-01-13 65 views
2

我有一个具有双重用途为显示职位列表和职位的查询列表,也可以有网页,以便您获得的URL像/News/Page/1/News?query=testActionLink的后退按钮

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

感谢

回答

10

它可能会更容易,只需使用JavaScript来送他们回最后一页在他们的历史(不创建指向特定页面的链接)。

history.go(-1) 
4

我会去一个ActionLink的像

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

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

0

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

在你的榜样

所以,从/News/Details/1回到/News/Page/1?some-querystring,你可以做到以下几点:

在你的控制器(假设 '1' 就是 '身份证'):

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

在你查看:

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

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