Pregunta

Creo que el título prácticamente resume:

¿Cuál es la diferencia entre RouteLink() y ActionLink() en ASP.NET MVC?

es decir,¿cuándo se usa Html.RouteLink() y ¿cuándo se usa Html.ActionLink() en su Opinión?

¿Fue útil?

Solución

Acción y las rutas no tienen que tener un 1:. 1 la relación

ActionLink generará la URL para llegar a una acción mediante la primera ruta coincidente por nombre de acción.

RouteLink generará un URL para una ruta específica determinada por nombre o ruta valores.

Otros consejos

En realidad, la salida de los dos métodos es el mismo, pero se genera de manera ligeramente diferente:

Html.ActionLink() hace que sea fácil de generar ActionLinks rápido, y le dará un control básico de lo que está representado. Si usted no tiene demasiadas rutas, o no es necesario dar información demasiado o demasiado específicas, esto va a hacer el trabajo muy bien.

El Html.RouteLink() método toma ligeramente diferentes argumentos, y por lo tanto le da un poco de control más detallado sobre la forma en que se manejan las cosas. Yo tiendo a usar este método cuando mi situación es un poco más complicado, o cuando tenga una estructura más detallada de la ruta.
Un ejemplo es un proyecto reciente en el que (la flexibilidad) y no tenía varias rutas diferentes, que eran todos muy simple, de un complejo que permita una gran cantidad de información. Por lo tanto, terminé con cuatro o cinco rutas para el mismo controlador, todo ello con una acción predeterminada especificada. Yo sobre todo utilizado el RouteLink versión, porque cuando he especificado un nombre de ruta, los parámetros por defecto se introducen automáticamente.

Utilizarlos como usted se siente como, y ya que tienen sentido para su proyecto. En realidad no hay superior / inferior a cualquiera de ellos (que no se corresponde con algún otro ...).

Además de las otras respuestas que se dan aquí, RouteLink es un poco más rápido, y no pueden coincidir siempre el camino equivocado porque ha cambiado su tabla de enrutamiento.

RouteLink toma el nombre de una ruta, así que si sus nombres de ruta son fiables y bastante único, entonces esto va a ser el mismo, incluso si el nombre de la acción que se utilizará cambios. ActionLink enlaces a una acción específica de un controlador específico lugar. Yo uso tanto en mis puntos de vista, dependiendo de qué tipo de enlace que busco!

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top