2012-07-31 85 views
0

我需要一個下拉列表來填充一個簡單的數字列表。我不確定是否可以做到這一點,而不必創建一個新的SelectList,因爲它只是數字。簡單的MVC DropDownListFor

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

真的不知道該怎麼在我的模型做的事:

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

是值列表總是相同的一組靜態? – Kane 2012-07-31 14:09:22

回答

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) 
+0

非常感謝!這很好。 – clestbest 2012-07-31 14:24:27