116 votes

Ce qui ' la différence entre RouteLink et ActionLink dans ASP.NET MVC ?

Je pense que le titre résume assez bien il :

Quelle est la différence entre et dans ASP.NET MVC ?

c'est-à-dire lorsque vous utilisez et lorsque vous utilisez à votre avis ?

76voto

Chad Moran Points 8560

Action et itinéraires ne doivent avoir une relation 1:1.

ActionLink va générer l’URL pour accéder à une action en utilisant le premier itinéraire correspondant par le nom de l’action.

RouteLink va générer une URL à un détail itinéraire déterminé par les valeurs de nom ou de la voie.

66voto

Tomas Lycken Points 23432

En fait, la sortie de ces deux méthodes est le même, mais il est généré de façon légèrement différente:

Html.ActionLink() permet de générer ActionLinks rapide, et vous donnera de base de contrôle sur ce qui est rendu. Si vous n'avez pas beaucoup de routes, ou n'avez pas besoin de donner trop ou trop spécifique de l'information, cela va faire le travail tout aussi bien.

L' Html.RouteLink() méthode prend un peu des arguments différents, et donc vous donne un peu de contrôle plus détaillé sur la façon dont les choses sont gérées. J'ai tendance à utiliser cette méthode lorsque mon scénario est un peu plus compliqué, ou quand j'ai une vue plus détaillée de l'itinéraire de la structure.
Un exemple est un projet récent, où j'ai (pour la souplesse) plutôt eu plusieurs routes différentes, qui ont été tous tout à fait simple, que l'un complexe qui permettrait à un grand nombre d'informations. Donc, j'ai fini avec quatre ou cinq lignes pour le même Contrôleur, le tout avec une action par défaut spécifié. J'ai surtout utilisé l' RouteLink version, parce que quand j'ai spécifié un nom de route, les paramètres par défaut ont été saisies automatiquement.

Les utiliser comme vous le souhaitez, et comme ils font du sens à votre projet. Il n'y a vraiment pas de hausse/à la baisse de l'un d'eux (qui n'est pas assorti de quelques autres...).

19voto

Craig Stuntz Points 95965

Outre les autres réponses données ici, RouteLink est un petit peu plus rapide et ne peut jamais égaler la mauvaise route parce que vous avez changé votre table de routage.

12voto

Simon Steele Points 8344

RouteLink prend le nom d’un itinéraire, alors si vos noms d’itinéraire sont fiables et relativement unique alors ce sera la même même si le nom de l’action à avoir utilisé des changements. ActionLink relie à une action spécifique d’un contrôleur spécifique à la place. J’ai utiliser les deux dans mon point de vue, selon le type de lien je suis après !

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X