Bonjour,
Voici le modèle (simplifié l'extrême)
Le contrôleur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 public class UserFieldModel { public string Code { get; set; } // Identifiant du champ libre public string Title { get; set; } // Entête du champ public string Value { get; set; } // Valeur } public class CreateViewModel { public UserFieldModel[] UserFields { get; set; } }
La méthode GetInfosData me retourne une liste qu'il faut afficher à l'écran ..
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 public ActionResult Create() { var rvm = new CreateViewModel(); rvm.UserFields = Service.GetInfosData<UserFieldModel>().ToArray(); return View(rvm); }
La vue :
Là aussi, simplifiée au maximum pour des questions de lisibilité
Et enfin le postback
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 @model CreateViewModel ... for (int i = 0; i < Model.UserFields.Count(); i++) { <div> @Html.HiddenFor(x => x.UserFields[i].Value) @Html.HiddenFor(x => x.UserFields[i].Code) @Html.HiddenFor(x => x.UserFields[i].MaxLenght) @Html.HiddenFor(x => x.UserFields[i].Title) @Model.UserFields[i].Title @Html.TextBoxFor(x => x.UserFields[i].Value}) </div> }
vm.UserFileds contient bien le bon nombre d'éléments et toutes les propriétés sont définies SAUF la valeur de ce que j'ai saisi qui vaut toujours NULL..
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 [HttpPost] public ActionResult Create(RequestCreateViewModel vm) { ... }
je dois rater un truc mais je ne vois pas quoi du tout....
j'ai essayé avec une List<UserFieldModel> dans le model, c'est pareil.
Avec un @Html.EditorFor et le template qui va derrière -> idem
Avec des foreach des hidden de tous les côtés etc etc... toujours vide !
Je craque
Quelqu'un pourrait il m'éclairer sur le sujet ?
Merci un milliard de fois d'avance !!
Partager