2011-01-22 28 views
25

Parece que el equipo de mvc 3 decidió incluir una función para el intercambio dinámico de datos entre un controlador y una vista llamada viewbag, pero es algo bueno en contra de la vista fuertemente tipada que todos conocemos. Quisiera saber su opinión. ¿Va a reemplazar esta característica la vista fuertemente tipada? (viewmodels)¿Está mal usar ViewBag en MVC?

+0

Sí, el ViewBag es malo. La tipificación fuerte es una mejor práctica por muchos motivos (que puede investigar por sí mismo). Yo usaría el ViewBag muy poco. El problema REAL con malas prácticas como estas surge porque las personas tienen una tendencia a cortar y pegar código de proyecto a proyecto ... por lo que termina infectando sus soluciones como una enfermedad. ¿Por qué no tomarse el tiempo para escribir un buen código? Luego, si la velocidad de desarrollo es el problema, comparta ese código usando un servidor NuGet interno (en su lugar). –

Respuesta

33

ViewBag es lo mismo que ViewData en ASP.NET MVC 1 y 2. Simplemente resulta ser dinámico en lugar de necesitar usarlo como un diccionario con claves. No creo que esto reemplace las vistas muy tipadas y, de hecho, debería usar Viewdata/Viewbag lo menos posible. Siempre use vistas fuertemente tipadas siempre que sea posible, ya que provocará menos errores si los nombres en su Viewdata/Viewbag cambian y hace que el HTML sea más limpio al no tener conversiones de ViewData por todos lados.

+4

Entonces, ¿por qué Microsoft creó ViewBag? –

+2

@CarstenGehling está ahí, así que tienes la opción de hacer las cosas de manera rápida y sucia, si lo deseas. A veces las empresas necesitan una solución rápida y sucia, y MVC no intenta hacer esa llamada por usted. Tu decides. – Chris

+9

Tiendo a decir que esto trae a los novatos al mundo de la "Mala práctica". – Rushino

Cuestiones relacionadas