Quel assistant HTML dois-je utiliser pour créer une liste déroulante simple qui ne prend aucune variable?
-
10-07-2019 - |
Question
Je souhaite disposer d'une simple liste déroulante d'option de sélection > à laquelle je ne transmets aucune valeur (collection SelectItem). Je connais déjà les valeurs, donc je n'ai pas besoin de faire tout cela (elles sont statiques).
Besoin de faire quelque chose comme ça:
<select id="day" name="day">
<option value="1">Sunday</option>
<option value="2">Monday</option>
</select>
<select id="hour" name="hour">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
</select>
Tous les exemples semblent montrer comment créer un IEnum en le passant via ViewData. Ceci est partiel, et je ne veux pas envoyer ces données, je veux juste qu'elles apparaissent.
La solution
Utilisez une liste de sélection contenant une liste de chaînes ou un dictionnaire d'éléments (si vous souhaitez des identifiants et des valeurs différents) dans votre liste déroulante pour définir vos valeurs.
<%= Html.DropDownList("day", new SelectList(
new Dictionary<int,string> { { 1, "Sunday" }, { 2, "Monday" } },
"Key", "Value"))
%>
<%= Html.DropDownList("hour", new SelectList(
new List<string>() { "1", "2", "3", "4" }))
%>
Autres conseils
S'ils sont statiques, conservez-les au format HTML. Aucun sens compliquer les choses.