Problème récupération List dans ActionResult
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 :
Code:
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> |
Voici les vues partielles :
Code:
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> |
Code:
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> |
et enfin voici mon controleur
Code:
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 :roll: