2014-04-18 5 views
0

드롭 다운 목록을 만들고 데이터베이스에서 가져온 값에 바인드하려고했습니다. 어떻게해야합니까? 나는 지금까지 다음과 같이 해왔다. 드롭 다운 항목의 값, 즉 다음 코드의 c.ID 값을 CountryVM의 Currency_ID와 바인드하고 싶습니다.MVC 4에서 동적 바인딩 드롭 다운 목록

public CountryVM() 
    {  
      [DisplayName("Country ID")] 
      [Required] 
      public string ID { get; set; } 

      [Required] 
      [DisplayName("Description")] 
      public string Description { get; set; } 


      [DisplayName("Currency Id")] 
      public Nullable<int> Currency_ID { get; set; } 

     } 

// 컨트롤러

나는 다음과 같이 내 드롭 다운에 액세스하려고 //보기에서
DAL library = new DAL(); 
    var items = library.GetAllCurrency(Library.Filter.CURRENCY_SYMBOL); 
    IEnumerable<SelectListItem> list = items.Select(c => new SelectListItem { Text = c.CURRENCY_SYMBOL, Value = c.ID.ToString() }); 

    ViewBag.curr_symbol = list; 
    return View(); 

:

 @Html.DropDownListFor(model => model.Currency_ID,"curr_symbol")// how to write this. 

답변

0

뷰에서 다음과 같이 수행

@ 
{ 
SelectList CurrencyList = (SelectList)ViewBag.curr_symbol; 
} 

@Html.DropDownListFor(model => model.Currency_ID,CurrencyList) 

및 조치 :

IEnumerable<SelectListItem> list = items.Select(c => new SelectListItem { Text = c.CURRENCY_SYMBOL, Value = c.ID.ToString() }).ToList(); 

나 :

var list = (from c in items 
      select new SelectListItem {Text = c.CURRENCY_SYMBOL, 
             Value = c.ID.ToString() }).ToList(); 

업데이트 : 당신이 그렇게 당신이되고 필요한 목록을 다시 작성에 넣어 형태의 게시물에 예외를 던지고 그 토론에 말했듯이

에서와 같이 사후 조치가 취해지면 제거됩니다.

+0

'Currency_ID'키가있는 'IEnumerable '형식의 ViewData 항목이 없습니다. <=이 오류가 발생했습니다 – Anand

+0

목록에 요소가 있고 그 요소가 ViewBag에 설정되어 있는지 확인하십시오. –

+0

작업 및보기가 변경된 내용으로 게시물을 편집하면 나는 쉽게 당신을 도울 수 있습니다. –