Asp.net MVC как заполнить выпадающий список с номерами

Я видел похожие примеры, когда людям нужно заполнить список объектов, но все, что я хотел бы получить, - это иметь номера 1-10 в моем DropdownlistFor, на мой взгляд. Есть простой способ сделать это. Следующее - это то, что у меня есть.

<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>

Ответы

Ответ 1

Вы можете использовать что-то вроде следующего:

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

Все это делает создание перечислимого числа от 1 до 10, а затем использует бит LINQ, чтобы преобразовать его в IEnumerable<SelectListItem>, который может принять Html.DropDownListFor.

Ответ 2

Список лет от текущего года до n лет назад.

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" })