La implementación de las mejores prácticas cuando IModelBinder [cerradas]
-
20-09-2019 - |
Pregunta
Busco un conjunto de mejores prácticas para utilizar en la aplicación de IModelBinder
.
He leído tres libros MVC diferentes y cada uno hace algunas cosas ligeramente diferentes en sus implementaciones sin ninguna explicación real.
- El Hanselman, Haack, Guthrie, libro Conery ni siquiera menciona
IModelBinder
- Palermo recomienda ampliar
DefaultModelBinder
lugar de ejecución directa deIModelBinder
, pero yo no veo la forma de aprovechar los beneficios - Sanderson menciona la actualización de instancias de modelo existentes, así como llamar
ModelState.SetModelValue()
seguir convención.
Sólo quiero para asegurarse de que mis enlazadores de modelos están siguiendo las convenciones, y que entiendo correctamente toda la ModelBindingContext
.
Cualquier consejos, trucos buenos tutoriales para recomendar?
Solución
K de Scott Allen tiene algunos consejos acerca del enlace de modelo: http :. //odetocode.com/blogs/scott/archive/2009/04/27/6-tips-for-asp-net-mvc-model-binding.aspx
Otros consejos
he heredado de DefaultModelBinder, porque se une automáticamente propiedades básicas en la entidad. Yo aumenté, por lo que también se une propiedades de navegación. Mi ligante realiza heredada de unión primero y luego busca los valores adicionales, propiedad de navegación en la forma. Creo que su enfoque debe depender de lo que realmente quiere hacer. También puede utilizar el reflector y ver lo que realmente está detrás de enlazador predeterminado. Esto puede convencer a usted para heredar.
Travis Illig escribió recientemente un artículo muy bueno blog sobre la validación de tipo de datos cuando se crea una carpeta de modelo personalizado.
Nunca he visto este consejo antes y pensé que era muy bueno - así que quería contribuir este enlace: http://www.paraesthesia.com/archive/2012/01/31/data-type- validación-y-modelo de unión-en-asp-net-mvc.aspx
MVC Futuros 2 tiene un modelo extensible sistema de unión . Usted puede encontrar más información en la documentación de la versión en http://aspnet.codeplex.com/releases/ Ver / 41742
Sólo tienes que descargar "ASP.NET MVC 2 Futuros Extensible Modelo carpetas de documentación"