简单的MVC DropDownListFor

时间:2012-07-31 14:05:43

标签: asp.net-mvc html.dropdownlistfor

我需要一个下拉列表来填充一个简单的数字列表。我不确定我是否可以这样做,而不必创建一个新的SelectList,因为它只是数字。

 @Html.DropDownListFor(model => model.NumberPassengers, new SelectList(Model.NumberPassengers))

真的不确定在我的模型中该怎么做:

public int[] Passengers = { 1, 2, 3, 4, 5, 6 };

1 个答案:

答案 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)