La propiedad ViewBag
se escribe como dynamic
, lo que significa que no hay IntelliSense.
ViewBag
es una sintaxis alias/alternativa para acceder al diccionario ViewData
. Las dos siguientes líneas de código son equivalentes:
ViewBag.Message = "My message";
ViewData["Message"] = "My message";
ViewBag
ofrece una sintaxis ligeramente más concisa que ViewData
. También tenga en cuenta que el acceso a ViewData
utilizando claves de cadena tampoco proporciona IntelliSense, por lo que realmente no pierde ninguna funcionalidad.
Una última nota es que ViewBag
y ViewData
utilizan el mismo almacenamiento de respaldo, por lo que la creación de un establecimiento a través de un método lo hace disponible con el otro método:
ViewBag.Message = "My message";
string message = ViewData["Message"];
// message is now "My message"
Visual Studio muestra una línea roja debajo de 'ViewBag', que parece un error, muy molesto, ¿hay alguna configuración para deshabilitarlo. –
El mismo problema que con Eric Yin, en las Vistas, las marcas rojas en ViewBag y HTML.TextBoxFor(), etc ... los errores indican que falta una referencia, pero ¿cuál? – Nestor