[ASP.Net] Html.DropDownListFor

Résolu
Juduno -  
 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

  1. Utilisateur anonyme
     
    Bonjour
    C’est quoi ton langage ?
    0
    1. Juduno
       
      de l'asp.net
      0
    2. Utilisateur anonyme
       
      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é
      0
  2. Juduno
     
    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" })
    0
    1. Juduno
       
      dans la boucle bien sur
      0
    2. Juduno
       
      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é ^^
      0