2008-10-23 12 views
12

He estado probando el NameValueDeserializer de MVCContrib, que tomará un IList como parámetro para un controlador y vinculará un formulario y sus elementos, pero me preguntaba si MVC Beta tenía alguna forma de hacer esto?Enlace de modelo complejo a una lista

Sé que puede enlazar un objeto muy tipado, pero quiero vincular una lista de estos objetos para algunas situaciones de edición masiva.

por ejemplo.

public void Save(IList<Item> items) 
{ 
    foreach (Item i in items) 
    { 
     //Save item 
    } 
} 

¿Es esto posible en MVC Beta? Gracias de antemano.

Respuesta

17

Sí, lo es, escribí una detallada blog post about it here. Es realmente fácil para tipos simples. Para tipos complejos, tendría que hacer algo como:

<input type="hidden" name="products.Index" value="0" /> 
<input type="text" name="products[0].Name" value="Beer" /> 
<input type="text" name="products[0].Price" value="7.32" /> 

<input type="hidden" name="products.Index" value="1" /> 
<input type="text" name="products[1].Name" value="Chips" /> 
<input type="text" name="products[1].Price" value="2.23" /> 

<input type="hidden" name="products.Index" value="2" /> 
<input type="text" name="products[2].Name" value="Salsa" /> 
<input type="text" name="products[2].Price" value="1.23" /> 
+3

Nota: El campo oculto llamado "Foo.Index" ya no es necesario, a partir de (creo) RC1. – Troy

+0

Parece que no puedo hacer que esto funcione cuando intento establecer algo como, por ejemplo, una propiedad de navegación "Proveedor"/"Vendor_Id" (EF4) ... ¿Alguna pista? –

Cuestiones relacionadas