Bonjour,
Voilà, je suis entrain de découvrir MVC dans les applications .NET et je me heurte à un problème.
Je n'arrive pas à récupérer une List<..> lors de l'appelle de mon contrôleur après un appel Post.
Je m’explique :
voici ma vue :
Voici les vues partielles :
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
20
21
22
23
24
25
26
27
28
29
30
31
32 @model Test_MVC_3.Controllers.Customer @{ ViewBag.Title = "Register"; } ... @using (Html.BeginForm()) { Html.ValidationSummary(true); <fieldset> <legend>Fields</legend> <div class="editor-label"> @Html.LabelFor(model => model.Nom) </div> <div class="editor-field"> @Html.TextBoxFor(model => model.Nom) @Html.ValidationMessageFor(model => model.Nom) </div> @{Html.RenderPartial("RegisterCompte", Model.Compte);} @foreach (Test_MVC_3.Controllers.Address item in Model.Address) { Html.RenderPartial("RegisterAdresse", item); } <p> <input type="submit" value="Create" /> </p> </fieldset> } </div> </body> </html>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 @model Test_MVC_3.Controllers.Address <div class="editor-label"> @Html.LabelFor(model => model.Number) </div> <div class="editor-field"> @Html.TextBoxFor(model => model.Number) @Html.ValidationMessageFor(model => model.Number) </div>et enfin voici mon controleur
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 @model Test_MVC_3.Controllers.Compte <div class="editor-label"> @Html.LabelFor(model => model.NomCompte) </div> <div class="editor-field"> @Html.TextBoxFor(model => model.NomCompte) @Html.ValidationMessageFor(model => model.NomCompte) </div>
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
20 public ActionResult Register() { Customer c = new Customer(); c.Address = new List<Address>(); c.Address.Add(new Address()); c.Address.Add(new Address()); c.Compte = new Compte(); return View(c); } [HttpPost] public ActionResult Register(Customer c, Compte c2, List<Address> a) { c.Compte = c2; c.Address = (List<Address>)a; return View(c); }
Lors de l'appel de la méthode Register après validation du formulaire, le paramètre c (Customer) vaut bien quelques chose, Le parametre c2 (Compte) vaut bien quelques chose mais par contre je n'arrive pas à récupérer la liste d'adresse. J'ai essayé avec une table, une IList, ... je n'arrive à rien.
Si quelqu'un à une piste je le remercie par avance.
J’espère aussi avoir été claire![]()
Partager