Salutations à tous,
je reviens vers vous suite à un souci face auquel je ne sais pas quoi faire.
Je crée des dropdownlist à l'aide de "selectlistitem" comme ceci :
Le problème vient du " selected = true ", il est tout simplement pas pris en compte.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 for (int i = 0; i < Model.SuperList.Count; i++) { if (Model.Id == Model.SuperList[i].id) { s.Add(new SelectListItem() { Text = Model.SuperList[i].toString(), Value = Model.SuperList[i].id.ToString(),Selected = true }); } else { s.Add(new SelectListItem() { Text = Model.SuperList[i].toString(), Value = Model.SuperList[i].id.ToString() }); } } <div class="ligneParam"> @Html.DropDownListFor(model => model.Id, s) </div>
Lorsque je lance mon application, le Id de base est le numéro 1, est pour ce cas le selected = true fonctionne.
Ce que fireBug me retourne :
Ensuite, lors d'un appuis sur bouton, dans le "controlleur", je change mon Id et le met égale à 3.<select id="Id" name="Id"">
<option value="1" selected="selected">1 - web to web</option>
<option value="2">2 - web to web (Wap Download)</option>
<option value="3">3 - web to wap (Wap Download)</option>
<option value="4">4 - wap to wap</option>
</select>
Théoriquement ma dropdownlist devrait se mettre sur la 3ième ligne, sauf qu'elle ne le fait pas. En regardant à nouveau fireBug, j'ai la même chose :
Donc je suis perdu.<select id="Id" name="Id"">
<option value="1" selected="selected">1 - web to web</option>
<option value="2">2 - web to web (Wap Download)</option>
<option value="3">3 - web to wap (Wap Download)</option>
<option value="4">4 - wap to wap</option>
</select>
Après avoir fait quelques manipulations, voici ce qu'il en ressort:
- si l'Id est mis à 4 ( par exemple ) dans le constructeur par défaut de ma classe, la liste se met bien sur la bonne valeur.
- si c'est lors d'un submit, onchange ou autres actions qui recharge la page, quelque soit la valeur que je mets à partir du controlleur, il n'en tient pas compte.
En résumé, il se fit non à la valeur selected = true que moi je lui donne, mais à la ligne qui a été selectionnée à partir du navigateur.
Si quelqu'un aurait une idée de comment arranger cela, ça m'aiderait beaucoup.
Merci d'avance
.:AO:.
Partager