2011-01-13 5 views
2

ich einen Index-Methode haben die doppelte Aufgabe tut als eine Liste der Beiträge und eine abgefragten Liste der Beiträge zeigt und auch Seiten haben kann, so dass Sie Urls wie /News/Page/1 oder /News?query=testAction Zurück-Taste

bekommen Wenn ein Benutzer durch Klicks auf Ein Post bei zum Beispiel News/Details/1 sie erhalten einen einfachen ActionLink, der sie zurück zur Liste bringt. ABER ich möchte, dass dieser Link sie zurück zu der tatsächlichen Seite führt, auf der sie in Bezug auf das Paging oder die Abfrage waren. Wie könnte ich das tun? Ich möchte die JavaScript-History-Methode nicht verwenden. Hier ist meine aktuelle Action: <%=Html.ActionLink("<< Back to News List", "Index")%> und dies ist ein Beispiel für die Paging-Links: <%= Html.RouteLink("<< First Page", "NewsPaging", new { query = ViewData["query"], page = 0 })%>

Dank

Antwort

10

Es wäre wahrscheinlich einfacher sein, nur Javascript zu verwenden, um sie zurück zur letzten Seite in ihrer Geschichte zu schicken (ohne die Schaffung ein Link zu der bestimmten Seite).

history.go(-1) 
4

ich für eine Action gehen wie

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

weil Benutzer News/Details/1 direkt zugreifen kann, und wenn, dann haben Sie einen Link, die history.go(-1) oder history.back() Funktion verwendet wird umleiten es nicht auf den Index Aktion

0

Eine andere Möglichkeit, dies zu tun, besteht darin, den Link im Controller zu erstellen und ihn einer Eigenschaft des Modells oder einer einfachen ViewBag-Variablen zuzuweisen (was Ihnen überlassen wird). In diesem Beispiel verwende ich ViewBag.

So in Ihrem Beispiel von /News/Details/1 zurück zu /News/Page/1?some-querystring gehen, können Sie folgendes tun:

In Ihrem Controller (unter der Annahme '1' ist die 'id'):

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

In Ihrem Ansicht:

Ein Nachteil ist, dass Sie wissen müssen, was die vorherige Seite war/sein könnte. In Ihrem Fall möchten Sie, dass Ihre Zurück-Schaltfläche zu Ihrer Liste zurückkehrt, sodass diese Technik in Ordnung sein sollte.