我需要一个下拉列表来填充一个简单的数字列表。我不确定我是否可以这样做,而不必创建一个新的SelectList,因为它只是数字。
@Html.DropDownListFor(model => model.NumberPassengers, new SelectList(Model.NumberPassengers))
真的不确定在我的模型中该怎么做:
public int[] Passengers = { 1, 2, 3, 4, 5, 6 };
答案 0 :(得分:1)
您需要创建一个新的SelectListItem
列表。我通常会把它放在ViewBag中,因为你不想要它。然后将它绑定到您的DropDownListFor
控件,这是我已经做过的时间:
private IEnumerable<SelectListItem> PopulateTimes()
{
List<SelectListItem> timeList = new List<SelectListItem>();
for (int count = 0; count < 24; count++)
{
timeList.Add(new SelectListItem()
{
Value = count.ToString("00"),
Text = count.ToString("00") + ":00",
Selected = count == 9,
});
}
return timeList;
}
然后
ViewBag.DepartureTimes = PopulateTimes();
然后
@Html.DropDownListFor(model => model.DepartureTime, (IEnumerable<SelectListItem>)ViewBag.DepartureTimes)