[ASP.Net] Html.DropDownListFor [Résolu/Fermé]

Signaler
-
 Juduno -
Bonjour ,
j'ai une petite question

je créer un dropListFor comme ceci

  @foreach (var critereData in Model.Criteres)
{
<tr>
<td>
@Html.DropDownListFor(m => m.Id, Model.listTypeDeCritere, new { @class = "form-control"})
</td>
</tr>
}


je voudrai lui dire la valeur que tu sélectionnes sera Model.Id et comme l'id correspond a mon enum correctement ordonner par rapport a ma requête

par exemple :

1 = Lieu
2 = Fournisseur
3 = Pays

ma boucle va remonter 1,1,1,1,2,3,1

donc j'aurai voulu que ce dropListFor sélectionne l'item qui est égal à mon id c'est à dire l'item 1= Model.id(=1)

Merci d'avance pour vos réponse
    

2 réponses

Messages postés
15111
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
18 novembre 2020
614
Bonjour
C’est quoi ton langage ?
de l'asp.net
Messages postés
15111
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
18 novembre 2020
614
Ok, pense à préciser, car des langages .Net y’en a plusieurs.
C#, vb.net, J#, C++.Net, F#,.....
Je ne connais pas l’ASP. Désolé
j'ai même essayé de faire

@Html.DropDownListFor(model => model.listTypeDeCritere,
Enum.GetValues(typeof(TypeCritere))
.Cast<TypeCritere>()
.Select(x => new SelectListItem { Value = ((int)x).ToString(), Text = x.GetLibelle(), Selected = true}),
new { @class = "form-control" })
dans la boucle bien sur
si au cas où un mec besoin de la solution
  int i = 0;
foreach (var critereData in Model.Criteres)
{
Model.TypeDeCritere.ForEach(x => x.Selected = false);
var liste = new List<SelectListItem>(Model.TypeDeCritere);
if (liste.Any(x => x.Value == ((int)critereData.Type).ToString()))
{
liste.FirstOrDefault(x => x.Value == ((int)critereData.Type).ToString()).Selected = true;
}

<tr>
<td>
@Html.DropDownList("Criteres[" + i + "].Type", liste, new { @class = "form-control"})


Merci à moi pour l'aide que je me suis apporté ^^