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?
Respuesta
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.
Entonces, ¿por qué Microsoft creó ViewBag? –
@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
Tiendo a decir que esto trae a los novatos al mundo de la "Mala práctica". – Rushino
- 1. MVC ViewBag Best Practice
- 2. mvc C# html.dropdownlist y viewbag
- 3. C# mvc model vs viewbag
- 4. MVC Pass ViewBag al controlador
- 5. MVC: Iterar una matriz Viewbag en javascript
- 6. ¿Por qué está mal usar OPENQUERY en un servidor local?
- 7. ¿Cómo puedo usar ViewBag en la Vista
- 8. ¿Está mal usado static_cast?
- 9. ¿Cuándo es "aceptable" utilizar ViewBag/ViewData en ASP.NET MVC?
- 10. ¿Está mal usar __PACKAGE__ dentro de mis métodos para heredar?
- 11. Java Time Zone está en mal estado
- 12. ¿Diferencia entre viewbag y viewstate?
- 13. ¿Está 'git --bare init' mal?
- 14. Usando install_name_tool ¿qué está mal?
- 15. Uso intensivo de ViewBag
- 16. .NET en Linux, ~/carpeta está mal?
- 17. ¿Está mal no preferir un IDE?
- 18. Creando una clase como ASP.NET MVC 3 ViewBag?
- 19. ASP.NET MVC 3: la propiedad ViewBag no proporciona IntelliSense
- 20. sistema ("pausa"); - ¿Por qué está mal?
- 21. ViewBag es NULL después de RedirectToAction (+ reinicialización de ViewBag)
- 22. Comprobando si la propiedad Viewbag está vacía, y usando el valor predeterminado en una vista
- 23. python 2.7/exec/¿qué está mal?
- 24. fábricas "Singleton", ¿está bien o mal?
- 25. ¿Qué está mal con este SQL?
- 26. ¿por qué $ (ventana) .height() está mal?
- 27. ¿Por qué Geopy Distance.Distance está mal?
- 28. ViewBag/ViewData Lifecycle
- 29. MVC 3 Lista desplegable que pierde el valor seleccionado con ViewBag
- 30. Diseño de ASP.NET MVC 3 Datos ViewBag en todas las vistas secundarias
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). –