¿Es cierto que el archivador de modelo predeterminado en MVC 3.0 es capaz de manejar índices no secuenciales (para los tipos de modelo simples y complejos)? Me he topado con publicaciones que sugieren que sí, pero en mis pruebas parece que NO.Índices no secuenciales de MVC3 y DefaultModelBinder
puesto determinado de nuevo valores:
items[0].Id = 10
items[0].Name = "Some Item"
items[1].Id = 3
items[1].Name = "Some Item"
items[4].Id = 6
items[4].Name = "Some Item"
y un método controlador:
public ActionResult(IList<MyItem> items) { ... }
Los únicos valores que se cargan son artículos 0 y 1; el elemento 4 simplemente se ignora.
He visto numerosas soluciones para generar índices personalizados (Model Binding to a List), sin embargo, todos parecen apuntar a versiones anteriores de MVC, y la mayoría son un poco 'pesado' IMO.
¿Echo de menos algo?
Tenía la esperanza de evitar Este enfoque. Crucé los dedos para que la carpeta de modelo predeterminada resolviera simplemente el indicio que faltaba. Debe haber una razón (tal vez para situaciones más complejas?) Para tener que especificar explícitamente el índice. De cualquier manera, gracias por la respuesta rápida y el código de muestra. – mindlessgoods
¡Gracias, funciona perfectamente! – Levitikon
¡OH MY NUL! Esto hizo que regresar las listas sea mucho más fácil, en lugar de hacer el ridículo para (i ++), solo puedo usar la clave principal o cualquier otra identificación en el índice, y la lista vuelve muy bien, y fuertemente tipada. Estos oscuros y ocultos secretos. ¡Esto hizo mi dia! +1 + cerveza !!! – ppumkin