Domanda

Ho uno scenario in cui voglio usare una vista parziale ma sto riscontrando problemi con il passaggio dei dati al controller. Ecco un esempio di base di ciò che sto cercando di fare.

oggetti:

  • Clienti
  • Ordine

Un cliente ha un IList<Order> su di esso. Voglio che la vista parziale consenta all'utente di modificare le informazioni. Posso ottenere i dati da visualizzare ma quando il modulo registra l'elenco sotto l'oggetto Cliente è nullo.

Ho anche tentato di utilizzare un modulo separato nella mia vista parziale. Quando lo faccio se creo i parametri sul controller in questo modo ottengo i dati:

public ActionResult UpdateOrders(IList<Guid> id, IList<int> quantity, IList<Guid> productId)

Ma quando lo faccio

public ActionResult UpdateOrders(IList<Order> orders)

L'elenco è nullo.

Se qualcuno ha un suggerimento migliore su come raggiungere questo, fammelo sapere.

È stato utile?

Soluzione

Come stai facendo riferimento ai campi nella tua vista? Sto pensando che dovrebbe essere qualcosa del tipo:

<input type="hidden" name="orders.Index" value="0" />
<input type="hidden" name="oders[0].ID" value="1" />
<input type="hidden" name="orders[0].productId" value="4" />
<input type="text" name="orders[0].quantity" value="6" />

<input type="hidden" name="orders.Index" value="1" />
<input type="hidden" name="orders[1].ID" value="2" />
<input type="hidden" name="orders[1].productId" value="2" />
<input type="text" name="orders[1].quantity" value="15" />

Vedi il post sul blog di Phil Haack su binding a un elenco per ulteriori informazioni.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top