Bonjour,
J'ai un problème pour passer un viewmodel à mon controller. Dans mon viewmodel, j'ai une liste, que je passe à ma vue avec un foreach pour afficher tous les item de ma liste.
Quand j'envoie mon formulaire en httppost, ma liste est nulle.
Voici mon code :
Dans le viewmodel :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 public class FormViewModel { public Customer Client { get; set; } public List<Customer> Contacts {get; set;} }
Dans le controller, en HTTPGET :
Dans ma vue :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 public ActionResult Client(string id) { FormViewModel VM = new FormViewModel(id); return View(VM); }
Dans mon controller, en HTTPPOST :
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 <% using (Html.BeginForm()) { %> <fieldset> <legend>Liste des contact</legend> <%foreach (var item in Model.Contacts) {%> Prénom : <%:Html.TextBoxFor(model => item.Firstname)%><br /> Nom : <%:Html.TextBoxFor(model => item.Name)%><br /> <%} %> </fieldset> <input type="submit" /> <% } %>
Mon VM.Contacts est null...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 [HttpPost] public ActionResult Index(FormViewModel VM) { return View(); }
J'ai le problème à chaque fois que je fais un viewmodel avec une liste.
C'est super handicapant pour développer, doit y avoir quelque chose que j'ai pas capté...
J'espère que vous pourrez m'aider, je suis complètement bloquée dans mon projet.
Partager