tag route net data asp all asp.net-mvc

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 :

  1. Puede usar RedirectToAction("Index", "Home", new { id = 5 }) que generará la URL en función de su tabla de rutas.

  2. Puede utilizar Redirect pero debe construir la URL usted mismo, por lo que pasa Redirect("/Home/Index/5") o como sea que funcione su tabla de rutas.

  3. No puede redireccionar a google.com (una URL externa) usando RedirectToAction , debe usar Redirect .

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.