none
formulaire de saisie des commande RRS feed

  • Question

  • Bonsoir !

    j'ai besoin de créer un formulaire pour gerer les commande et les detail.

    je dispose de deux model: Commande et Detailcommande

    et d'une class special qui me permet de gerer mes model au niveau de mon controller

    // Mes models 
    
    public class Commande
    {
     public int CommandeID{get;set;}
     public string Nomclient{get;set;}
     public string Telephone{get;set;}
    
     public virtual ICollection<Detailcommande> Detailcommandes { get; set; }
    }
    
    public class Detailcommande
    {
     public int DetailcommandeID{get;set;}
     public string Designation{get;set;}
     public int Qte{get;set;}
    
     public int CommandeID{get;set;}
     public virtual Commande Commandes{get;set;}
    }
    
    // ma class special pour gerer les commandes
    
    
    public class Coms
    {
     public Commande cde{get;set;}
     public IEnumerable<Detailcommande> dc{get;set;}
    }
    
    // Mon controller
    
    
    public ActionResult créer()
    {
    
     return View()
    }
    
     [HttpPost]
     public ActionResult créer(Coms co)
    {
     appContext db= new appContext()
    
    // instruction de sauvegarde des données a la base
    
     return View()
    }
    

    lorsque mon formulaire est soumit a l'action creer, la propriété dc de mon objet co est null, il est du type IEnumerable pour recevoir les détails des commande.

    par contre la propriété cde est bien remplie.

    Merci de m'apporter votre aide.


    j'aime

    vendredi 20 février 2015 18:05

Réponses

  • Bonjour,
    Il doit s'agir de votre facon de générer les input correspondants au POST.
    Vous devez vous assurer que les inputs correspondants aient le bon nom.

    Dans votre cas, la liste doit se composer comme suit :

    <input type="text" name="co.dc[0].DetailcommandeID" />
    <input type="text" name="co.dc[0].Designation" />
    <input type="text" name="co.dc[0].Qte" />
    <input type="text" name="co.dc[0].CommandeID" />
    
    <input type="text" name="co.dc[1].DetailcommandeID" />
    <input type="text" name="co.dc[2].Designation" />
    <input type="text" name="co.dc[3].Qte" />
    <input type="text" name="co.dc[4].CommandeID" />
    ...
    <input type="text" name="co.dc[n].DetailcommandeID" />
    <input type="text" name="co.dc[n].Designation" />
    <input type="text" name="co.dc[n].Qte" />
    <input type="text" name="co.dc[n].CommandeID" />

    Vous devez vous assurer que les noms soient correctes et que l'indexation se suit (0,1,2,3,4,5, ...) et qu'elle commence bien par 0.
    Cordialement,


    Kevin BEAUGRAND, Modis FRANCE
    Merci de bien vouloir "Marquer comme réponse", les réponses qui ont résolu votre problème.

    • Proposé comme réponse Boris Ivanov _ mercredi 25 février 2015 09:30
    • Marqué comme réponse Saintjuste vendredi 27 février 2015 08:48
    vendredi 20 février 2015 18:33

Toutes les réponses

  • Il me semble a première vue qu'il manque des gcnew

    Jean Noël Martin

    • Proposé comme réponse Boris Ivanov _ mercredi 25 février 2015 09:30
    • Non proposé comme réponse Boris Ivanov _ vendredi 27 février 2015 09:03
    vendredi 20 février 2015 18:17
  • Bonjour,
    Il doit s'agir de votre facon de générer les input correspondants au POST.
    Vous devez vous assurer que les inputs correspondants aient le bon nom.

    Dans votre cas, la liste doit se composer comme suit :

    <input type="text" name="co.dc[0].DetailcommandeID" />
    <input type="text" name="co.dc[0].Designation" />
    <input type="text" name="co.dc[0].Qte" />
    <input type="text" name="co.dc[0].CommandeID" />
    
    <input type="text" name="co.dc[1].DetailcommandeID" />
    <input type="text" name="co.dc[2].Designation" />
    <input type="text" name="co.dc[3].Qte" />
    <input type="text" name="co.dc[4].CommandeID" />
    ...
    <input type="text" name="co.dc[n].DetailcommandeID" />
    <input type="text" name="co.dc[n].Designation" />
    <input type="text" name="co.dc[n].Qte" />
    <input type="text" name="co.dc[n].CommandeID" />

    Vous devez vous assurer que les noms soient correctes et que l'indexation se suit (0,1,2,3,4,5, ...) et qu'elle commence bien par 0.
    Cordialement,


    Kevin BEAUGRAND, Modis FRANCE
    Merci de bien vouloir "Marquer comme réponse", les réponses qui ont résolu votre problème.

    • Proposé comme réponse Boris Ivanov _ mercredi 25 février 2015 09:30
    • Marqué comme réponse Saintjuste vendredi 27 février 2015 08:48
    vendredi 20 février 2015 18:33
  • Merci je vais essayer, je pense que le probleme vient de la

    je n'avais pas cette façon de faire des nommages.

    Merci, je vous fait signe si le probleme est resolu.


    j'aime


    • Modifié Saintjuste vendredi 20 février 2015 19:05
    vendredi 20 février 2015 18:58