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