Bonjour à tous,

j'ai un petit souci de récupération de valeurs de dropDownList dans une vue un peu complexe.

Cette vue est une PartialView servant à afficher un popup jquery UI et reliée à un modèle.

mon modèle :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
public class Couple
    {
        public string NomObjetSource { get; set; }
        public string LibelleObjetSource { get; set; }
        public string NomObjetDestination { get; set; }
        public string CodeObjetSource { get; set; }
        public string NomRelation { get; set; }
        public IEnumerable<string> ListeObjets { get; set; }
    }
et dans ma vue :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
 @Html.DropDownListFor(m => m.ListeObjets, new SelectList(Model.ListeObjets))
Jusque là pas de problèmes pour récupérer la valeur sélectionnée dans mon contrôleur.

Mon souci est que chaque couple peuvent avoir d'autres "critères" de type texte ou de type liste et ce nombre de critèresn'est malheureusement pas statique. (En sachant que la liste d'objet est elle toujours présente pour créer un couple)

J'ai rajouté dans mon modèle Couple une classe :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
public class CoupleCrit
    {
        //pour critère texte
        public string NomCritere { get; set; }
        public string ValueCritere { get; set; }
        //Pour critère liste
        public IList<string> ListeValeur { get; set; }
    }
et dans ma classe couple une liste de critère :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
public IList<CoupleCrit> ListeCritere { get; set; }
J'arrive à afficher les critères en bouclant dans la vue sur la liste de critère mais je n'arrive pas a récupérer la valeur sélectionnée pour un critère dynamique, la liste IList<CoupleCrit> ListeCritere étant null dans mon contrôleur.

Si vous avez des pistes je suis preneur, peut-être suis-je mal parti du début, en espérant avoir été clair et pas trop long

Merci d'avance