Como soy nuevo en ASP.NET MVC alguien me puede decir la diferencia entre return RedirectToAction()
y return View()
?Diferencia entre RedirectToAction() y View()
Respuesta
return View()
dice MVC para generar HTML que se muestra y lo envía al navegador.
RedirectToAction()
dice ASP.NET MVC para responder con un redireccionamiento del navegador a una acción diferente en lugar de representación HTML. El navegador recibirá la notificación de redireccionamiento y realizará otra solicitud para la nueva acción.
Un ejemplo ...
digamos que usted está construyendo una forma de recoger y guardar los datos, su URL se parece a SomeEntity/Edit/23
. En la acción Editar, hará return View()
para representar un formulario con campos de entrada para recopilar los datos.
Para este ejemplo, digamos que al guardar con éxito los datos, desea mostrar los datos que se han guardado. Después de procesar los datos enviados por el usuario, haga algo como RedirectToAction("Index")
, donde Index es la acción que mostrará los datos. El navegador obtendrá un HTTP 302 (redirección temporal) para ir al /SomeEntity/Index/23
.
- Volver
View
no hace nuevas solicitudes, sólo se representa la vista sin cambiar las direcciones URL en la barra de direcciones del navegador. - Volver
RedirectToAction
hace una nueva solicitud y la dirección URL en la barra de de direcciones del navegador se actualiza con la URL generada por MVC. - Devolución
Redirect
también realiza una nueva solicitud y la URL en la barra de la dirección del navegador se actualiza, pero debe especificar la URL completa. RedirectToRoute
redirige a la ruta especificada, definida en el la tabla ruta.
Entre RedirectToAction
y Redirect
, la mejor práctica es utilizar RedirectToAction
para cualquier cosa relacionada con su solicitud acciones/controladores. Si usa Redirect
y proporciona la URL, deberá modificar esas URL manualmente cuando cambie la tabla de rutas.
Como una adición a todas las respuestas anteriores, si está utilizando la implementación de validación utilizando la anotación de datos, use return View()
en lugar de RedirectToAction()
.
mensaje de validación no funcionará usando RedirectToAction ya que no consigue el modelo que no es válido y el mensaje de validación no se mostrará tan bien en su punto de vista.
- 1. ¿Diferencia entre SurfaceView y View?
- 2. RedirectToAction() vs. View() y los operadores ternarios?
- 3. Confusión entre Redirect y RedirectToAction
- 4. ¿Cuál es la diferencia entre los métodos iterator y view?
- 5. ¿Cuál es la diferencia entre "return View()" y "return PartialView()"
- 6. ¿Cuál es la diferencia entre Redirect y RedirectToAction en ASP.NET MVC?
- 7. RedirectToAction y RedirectToRoute
- 8. Cuándo utiliza Ver() frente a RedirectToAction
- 9. MySQL: diferencia entre ', `,' y"
- 10. Diferencia entre objeto y *?
- 11. Diferencia entre. y #
- 12. ¿Diferencia entre == y caso?
- 13. La diferencia entre $ * y $ @
- 14. Diferencia entre & y &
- 15. ¿Cuál es la diferencia entre las clases RootViewController, AppDelegate y View Controller que puedo crear?
- 16. ¿Diferencia entre MVC 3 Partial Page (Razor) y MVC 3 View Page with Layout (Razor)?
- 17. VBA: Diferencia entre y y +
- 18. android: diferencia entre ACTION_UP y ACTION_POINTER_UP
- 19. Diferencia entre -Wconversion entre gcc y g ++
- 20. Diferencia entre subprocess.Popen y os.system
- 21. Diferencia entre decimal y decimal
- 22. ¿Diferencia entre trazo y relleno?
- 23. Diferencia entre interrupción y eventos
- 24. Diferencia entre netTcpContextBinding y netTcpBinding
- 25. ¿Diferencia entre brújula y sass?
- 26. Diferencia entre "__method__" y "método"
- 27. Diferencia entre Mealy y Moore
- 28. Diferencia entre HashSet y HashMap?
- 29. diferencia entre ajax y enviar
- 30. Diferencia entre sistema y shell_exec
RedirectToAction también se utiliza para implementar el patrón PRG – Tassadaque