2009-06-23 11 views
2

J'ai un scénario Je veux utiliser une vue partielle, mais j'ai des problèmes avec le fait de transmettre des données au contrôleur. Voici un exemple de base de ce que j'essaie de faire.Vue partielle ASP.NET MVC avec formulaire

Objets:

  • clients
  • Commander

Un client a un IList<Order> sur elle. Je veux que la vue partielle permette à l'utilisateur d'éditer l'information. Je peux obtenir les données à afficher mais lorsque le formulaire affiche la liste sous l'objet Client est null.

J'ai également essayé d'utiliser une forme séparée dans ma vue partielle. Quand je fais si je crée paramenters sur le contrôleur comme si je reçois les données:

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

Mais quand je fais

public ActionResult UpdateOrders(IList<Order> orders) 

La liste est nulle.

Si quelqu'un a une meilleure suggestion sur la façon d'y parvenir, faites-le moi savoir.

+0

Pouvez-vous poster le HTML, je pense qu'il serait utile dans cette question – Hugoware

Répondre

2

Comment faites-vous référence aux champs dans votre vue? Je pense que ce devrait être quelque chose comme:

<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" /> 

Voir entrée de blog de Phil Haack sur binding to a list pour plus d'informations.

+0

Les champs sont générés par un foreach afin qu'ils se retrouvent avec le même ID et le nom actuellement. – cjibo

+0

Votre suggestion m'amène à trouver une solution. J'ai dû ajouter la ligne .index je l'ai oublié. Je ne sais pas si nous n'avons pas d'assistant pour ça. – cjibo

+0

@cjibo: vous voudrez peut-être considérer cet article pour votre création de l'index ... http://stackoverflow.com/questions/5013578/create-views-for-object-properties-in-model-in-mvc- 3-application À savoir, regardez le lien du blog de Steve Sanderson qui vous donne une base de code pour générer les noms avec Guids, ce qui fonctionne très bien. –

Questions connexes