web-dev-qa-db-fra.com

Asp.net MVC comment remplir la liste déroulante avec des nombres

J'ai vu des exemples similaires où les gens ont besoin de remplir une liste d'objets, mais tout ce que j'aimerais réaliser, c'est d'avoir les numéros 1-10 dans ma liste déroulante pour moi. Existe-t-il un moyen simple de le faire. Voici ce que j'ai.

<div class="form-group">
    @Html.LabelFor(model => model.NumberOfTickets, new { @class = "control-label col-md-2" })
    <div class="col-md-10">
        @Html.DropDownListFor(model => model.NumberOfTickets)
        @Html.ValidationMessageFor(model => model.NumberOfTickets)
    </div>
</div>
21
user1781232

Vous pouvez utiliser quelque chose comme ceci:

@Html.DropDownListFor(m => m.NumberOfTickets, Enumerable.Range(1, 10).Select(i => new SelectListItem { Text = i.ToString(), Value = i.ToString() }))

Tout cela ne fait que créer un énumérable d'entiers compris entre 1 et 10, puis utilise un peu de LINQ pour le transformer en IEnumerable<SelectListItem> cette Html.DropDownListFor Peut accepter.

57
Chris Pratt

Liste des années de l'année en cours à n années en arrière.

int startYear = 1980
@Html.DropDownListFor(m => m.DateofEstablishment, Enumerable.Range(0, (DateTime.Now.Year - startYear -1)).Select(i => new SelectListItem { Text = (DateTime.Now.Year - i).ToString(), Value = i.ToString() }), "Please select year", new { @class = "form-control", @required = "required" })
3
Saif