2012-11-13 6 views
0

ID를 설정할 수있는 기능이있는 드롭 다운 목록을 만들려고합니다. 동일한 뷰 백에서 2 개가 있으므로. 지금 MVC 드롭 다운 목록에 문제가있어 설정하는 방법이 확실하지 않습니다.

@Html.DropDownList("startTimes", (SelectList)ViewBag.times, new { @class = "date" }) 

@Html.DropDownList("endTimes", (SelectList)ViewBag.times, new { @class = "date" }) 

같은, 나는

ViewBag.times = getTimeList();

private List<SelectListItem> getTimeList() 
    { 
     List<SelectListItem> times = new List<SelectListItem>(); 
     for (int Minutes = 60; Minutes < 770; Minutes += 30) 
     { 
      TimeSpan TS = TimeSpan.FromMinutes(Minutes); 
      String TSString = String.Format("{0:00}:{1:00}", TS.Hours, TS.Minutes); 
      SelectListItem item = new SelectListItem(); 
      item.Text = TSString; 
      item.Value = TS.Minutes.ToString(); 
      times.Add(item); 
     } 

     return times; 
    } 

해야하지만 오류가 점점 오전 : 'System.Web.Mvc.SelectList'에 유형 'System.Collections.Generic.List을'변환 할 수 없습니다 오류가 언급 한 바와 같이 여기

답변

1

당신은 당신이 새로운 SelectList FO를 만들 필요가

@Html.DropDownList("endTimes", new SelectList(ViewBag.times, "Value", "Text"), new { @class = "date" }) 

이동 이것은 기존의 enumerable에서 캐스팅 된 것이 아니라 작동하기 때문입니다. DropDownList 도우미 오버로드가 표시되어야합니다.

예를 들어 this SO question과 같이 질문을 검색하여 직접 답을 찾을 수도 있습니다.

는 UPDATE

:

그냥 지금 당신의 질문을 다시 읽고 당신이 드롭 다운리스트의 id 설정에 대한 이야기는, 그는 실제로 오류 관련이 없습니다. id은 첫 번째 매개 변수에서 DropDownList 도우미로 설정됩니다 (메서드의 "이름"매개 변수 임).

+0

감사합니다. 이 훌륭한 작품 –

관련 문제