ASP.NET MVC: ViewData, ViewBag y TempData

Leyendo este excelente post sobre algunas características que provee ASP.NET MVC encontré un punto que me pareció interesante volver a recordar.

El mismo trata sobre las diferencias entre ViewData, ViewBag y TempData. Como ya saben cada una de estas opciones nos proveen la posibilidad de enviar información desde el controlador a la vista. Sin embargo algunos de ellos nos permiten hacer de forma directa y otros por medio de re-direcciones.

Empecemos por los dos primeros. Tanto ViewData como ViewBag (de los cuales ya hemos hablado en detalle aquí) nos permiten compartir información desde el controlador a la vista de forma directa y del lado del servidor. En caso de que ocurriera una re-dirección el valor del mismo pasaría a ser nulo. La diferencia principal entre ambos es que ViewData es un objeto diccionario mientras que ViewBag es una propiedad dinámica (el cual nos genera un código mucho más prolijo y sencillo de mantener).

TempData también es un diccionario pero con la característica de que se mantiene durante una solicitud HTTP. Esto nos permite “transportar” un valor desde un controlador a otro controlador cuando se realiza una re-dirección.

Como siempre digo, es bueno tener presente las diferencias entre los mismos, al momento de tener que elegir una opción para transportar datos a la vista.

Espero que les sea útil 🙂

Anuncios

Un comentario en “ASP.NET MVC: ViewData, ViewBag y TempData

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s