Bonsoir,
J'ai la classe suivante, ViewModelListeVoeux que je passe sans probl�me depuis mon contr�leur � ma vue :
Je peux donc manipuler l'objet dans ma vue sans probl�me.
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 public class ViewModelListeVoeux { public List<Produit> ListeVoeux { get; set; } public List<Enseigne> ListeEnseignes { get; set; } public ViewModelListeVoeux() { ListeVoeux = new List<Produit>(); ListeEnseignes = new List<Enseigne> { new Enseigne{Nom = "Fnac", Photo = "Fnac.jpg" }, ... new Enseigne{Nom = "Amazon", Photo = "amazon.jpg" } }; } }
Mais en sens inverse lorsque je tente de passer l'objet ViewModel modifi� � mon contr�leur, il est vide.
Voici ma vue :
Et voici mon contr�leur :
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9 @using (Html.BeginForm("EditerListeVoeux", "ListeVoeux")) { @foreach (Produit p in Model.ListeProduits) { <tr><td><input type="checkbox" name="CheckBoxesProduitChoisi" value="@p.Id" /></td><td>@p.Nom </td><td>@p.Marque</td><td>@p.Prix</td><td>@p.NomPhoto</td></tr> }
Autant je re�ois bien un tableau des ID des cases � cocher s�lectionn�es et je peux bricoler avec, autant je souhaiterai recevoir directement en param�tre de mon contr�leur mon ViewModel modifi�.
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 public ViewResult EditerListeVoeux(int[] CheckBoxesProduitChoisi, ViewModelListeVoeux VMlisteVoeux) { // ViewModelListeProduits modèleLP = new ViewModelListeProduits(); /* foreach (Produit p in modèleLP.ListeProduits) { for (int i = 0; i < CheckBoxesProduitChoisi.Count(); i++) { if (p.Id == CheckBoxesProduitChoisi[i]) { VMlisteVoeux.ListeVoeux.Add(p); } } } */ return View("EditerListeVoeux", VMlisteVoeux); }
Comment faire donc pour que VMListeVoeux corresponde � ce que j'ai modifi� ?
Merci d'avance � chacun.
Partager