Wie erstelle ich den richtigen Weg Werte für diesen ActionLink?
Dem Modell der SearchResults.aspx
ist eine Instanz von PersonSearch
; wenn die Anfrage für eine neue Seite kommen (GET-request), die action-Methode sollte es nehmen und berechnen Sie die neuen Ergebnisse.
[AcceptVerbs(HttpVerbs.Get)]
public ActionResult SearchResults(PersonSearch search, int? page)
{
ViewData["Results"] = new PaginatedList<Person>(_searchService.FindPersons(search), page ?? 0, 1);
return View("SearchResults", search);
}
Dann habe ich zum generieren der previous/next links:
<%= Html.ActionLink("Next Page >", "SearchResults", routeValues) %>
Wenn ich routeValues = ViewData.Model
ich kann sehen, dass das Objekt-Eigenschaften übergeben die Adresse, aber ich kann nicht fügen Sie die "page" - parameter.
InformationsquelleAutor der Frage gremo | 2009-11-27
Du musst angemeldet sein, um einen Kommentar abzugeben.
Denke, es wäre besser, erstellen Sie ein anderes Objekt mit den richtigen Werten, statt mit (und möglicherweise änderung der aktuellen routevalues):
InformationsquelleAutor der Antwort LorenzCK
Diesem blog-post von Scott Guthrie hat mir geholfen, wickeln Sie meinen Kopf herum, URL-Routing: ASP.NET MVC-Framework (Teil 2): URL-Routing
Ich Liebe es, dass er enthalten Testfälle!
InformationsquelleAutor der Antwort daniellmb
Müssen Sie zum überschreiben von ToString().
InformationsquelleAutor der Antwort
Wenn Sie mit Razor (ich merke, OP gefragt, vor vier Jahren vor der Rasierapparat erfunden wurde, aber die Leute finden das vielleicht, es zu verwenden).
Ich war in der Lage, etwas zu arbeiten, indem Sie mithilfe von inline - @ - Helfer-Methode.
Verwendung wäre einfach -
Es ist nicht die eleganteste Lösung, aber es funktioniert gut, wenn Sie wollen, übergeben Sie ein Objekt als routeValue, aber Sie brauchen, um passieren Sie zusätzliche Elemente, wie
Controller
Area
oder in OPs Fallpage
.InformationsquelleAutor der Antwort Nate
Müssen Sie verwenden RouteLink statt ActionLink. Ihr code sollte in etwa so Aussehen
InformationsquelleAutor der Antwort Дмитрий Кононов