Was ist der Unterschied zwischen RouteLink und ActionLink in ASP.NET MVC?
Ich denke, dass der Titel ziemlich viel fasst es zusammen:
Was ist der Unterschied zwischen RouteLink()
und ActionLink()
im ASP.NET MVC?
also, wenn verwenden Sie Html.RouteLink()
- und Wann nutzen Sie die Html.ActionLink()
?
InformationsquelleAutor der Frage Guy | 2009-05-14
Du musst angemeldet sein, um einen Kommentar abzugeben.
Aktion und Routen nicht über ein 1:1-Beziehung.
ActionLink erzeugt die URL zu bekommen, um eine Aktion mit dem ersten übereinstimmende route von Namen für die Aktion ein.
RouteLink generiert eine URL auf eine bestimmte route festgelegt entweder durch den Namen oder die route-Werten.
InformationsquelleAutor der Antwort Chad Moran
Eigentlich die Ausgabe von den beiden Methoden ist der gleiche, aber es entsteht in leicht unterschiedlicher Weise:
Html.ActionLink()
macht es einfach zu generieren ActionLinks schnell, und geben Ihnen die grundlegende Kontrolle über das, was gerendert wird. Wenn Sie nicht haben, zu viele Routen, oder nicht brauchen, zu viel zu geben oder zu bestimmten Informationen, dies zu tun, die gut funktionieren.Den
Html.RouteLink()
Methode dauert etwas anderen Argumenten, und damit gibt Sie ein wenig mehr detaillierte Kontrolle über die Art und Weise wie Dinge behandelt werden. Ich Neige dazu, verwenden Sie diese Methode, wenn mein Szenario ist ein wenig komplizierter, oder wenn ich einen mehr detaillierte Routenbeschreibung Struktur.Ein Beispiel ist ein Aktuelles Projekt, wo ich (für Flexibilität), sondern hatte mehrere verschiedene Routen, die waren alle Recht einfach, als eine komplexe, die erlauben würde, für eine Vielzahl von Informationen. So landete ich mit vier oder fünf Routen für den gleichen Controller, die alle über eine Standard-Aktion festgelegt. Ich hauptsächlich die
RouteLink
version, denn wenn ich eine route angegeben Namen, die Standard-Parameter eingegeben wurden, automatisch.Verwenden Sie Sie, wie Sie fühlen, wie, und wie Sie sinnvoll in Ihr Projekt ein. Es gibt wirklich keine upside/downside entweder von Ihnen (das wird nicht ergänzt durch einige andere...).
InformationsquelleAutor der Antwort Tomas Lycken
Zusätzlich zu den anderen Antworten, die hier gegeben werden, RouteLink ist ein wenig schneller, und nicht immer entsprechen die falsche route, denn Sie verändert Ihre routing-Tabelle.
InformationsquelleAutor der Antwort Craig Stuntz
RouteLink nimmt den Namen einer route, so dass, wenn Ihre route die Namen sind zuverlässig und ziemlich einzigartig ist, dann wird die gleiche, auch wenn der name der Aktion verwendet werden, ändert. ActionLink links auf eine bestimmte Aktion von einem bestimmten controller statt. Ich nutze beide an meinen Ansichten, je nach dem, welchen link ich bin nach!
InformationsquelleAutor der Antwort Simon Steele