route - ¿Cuál es la diferencia entre Redirect y RedirectToAction en ASP.NET MVC?
net core asp route id (1)
RedirectToAction
permite construir una url de redirección a una acción / controlador específico en su aplicación, es decir, utilizará la tabla de rutas para generar la URL correcta.
Redirect
requiere que proporciones una URL completa para redirigir a.
Si tiene un Index
acción en el controlador Home
con parámetro Id
:
Puede usar
RedirectToAction("Index", "Home", new { id = 5 })
que generará la URL en función de su tabla de rutas.Puede utilizar
Redirect
pero debe construir la URL usted mismo, por lo que pasaRedirect("/Home/Index/5")
o como sea que funcione su tabla de rutas.No puede redireccionar a
google.com
(una URL externa) usandoRedirectToAction
, debe usarRedirect
.
RedirectToAction
está diseñado para hacer 302 redirecciones dentro de su aplicación y le brinda una manera más fácil de trabajar con su tabla de rutas.
Redirect
está destinado a hacer 302 redirecciones a todo lo demás, específicamente URL externas, pero aún puede redireccionar dentro de su aplicación, solo tiene que construir las URL usted mismo.
Mejores prácticas: use RedirectToAction
para cualquier cosa relacionada con las acciones / controladores de su aplicación. Si usa Redirect
y proporciona la URL, deberá modificar esas URL manualmente cuando la tabla de rutas cambie.
¿Cuál es la diferencia entre Redirect
y RedirectToAction
no sea su tipo de devolución? ¿Cuándo usamos cada uno? Explicación con cualquier escenario de la vida real me ayudaría mucho.
Estaba viendo Confusion entre Redirect y RedirectToAction , pero, para mí, parece que la respuesta es más específica para manejar el parámetro id
y devolver la vista correcta.