Frage

Ich denke, dass der Titel ziemlich viel bringt es auf:

Was ist der Unterschied zwischen RouteLink() und ActionLink() in ASP.NET MVC?

d. Wann verwendet man Html.RouteLink() und wann verwenden Sie Html.ActionLink() in Ihrer Ansicht?

War es hilfreich?

Lösung

Aktion und Routen keine 1 haben müssen. 1 Beziehung

Action die URL generiert, um eine Aktion mit der ersten passenden Route durch Aktionsnamen zu erhalten.

Routelink wird eine URL zu einer bestimmten Route erzeugt entweder durch Namen oder Route Werte.

Andere Tipps

Eigentlich ist die Ausgabe von den beiden Verfahren ist das gleiche, aber es wird auf leicht unterschiedliche Weise erzeugt:

Html.ActionLink() macht es einfach ActionLinks schnell zu generieren, und Sie grundlegende Kontrolle über geben wird, was gemacht wird. Wenn Sie nicht zu viele Routen haben oder brauchen nicht zu viel oder zu spezifischen Informationen zu geben, wird dies die Arbeit ganz gut tun.

Die Html.RouteLink() Methode nimmt etwas anderen Argumente, und somit gibt Ihnen eine wenig detaillierte Kontrolle über die Art und Weise Dinge gehandhabt werden. Ich neige dazu, diese Methode zu verwenden, wenn mein Szenario ein wenig komplizierter ist, oder wenn ich eine detailliertere Streckenstruktur haben.
Ein Beispiel dafür ist ein neues Projekt, bei dem ich (für Flexibilität) eher mehr verschiedene Routen hatte, die alles ganz einfach waren, als ein komplex, die für eine Vielzahl von Informationen ermöglichen würde. So landete ich angegeben mit vier oder fünf Routen für die gleiche Steuerung, die alle mit einer Standard-Aktion auf. Früher habe ich meistens die RouteLink Version, denn wenn ich einen Routennamen angegeben, wurden die Standardparameter automatisch eingetragen.

Sie verwenden, wie Sie sich fühlen wie, und wie sie Sinn zu einem Projekt machen. Es gibt wirklich keinen Kopf / Nachteil einer von ihnen (dh nicht durch ein anderes abgestimmt ist ...).

Zusätzlich zu den anderen hier gegebenen Antworten, Routelink ist ein bisschen schneller und kann die falsche Route nicht immer überein, weil Sie Ihre Routing-Tabelle geändert.

Routelink nimmt den Namen einer Route, so dass, wenn Sie Ihre Route Namen zuverlässig sind und ziemlich einzigartig, dann wird dies gleich sein, auch wenn die Aktion Namensänderungen verwendet werden. Action Links auf eine bestimmte Wirkung eines bestimmten Controller statt. Ich benutze beide in meinen Ansichten, je nachdem, welche Art von Verbindung, die ich war nach!

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top