2012-06-27 3 views
0

MVC 및 면도기를 사용하여 방금 프로젝트를 시작했습니다. 이제 데이터베이스에서 오는 데이터를 드롭 다운 목록에 바인딩 할 때 문제가 발생합니다.DropDownList에 데이터 바인딩 MVC 면도칼

전문 모델 : 아래 내 코드에 참조하시기 바랍니다

public class SpecializationModel 
{ 
    [Display(Name = "SpecializationID")] 
    public string SpecializationID { get; set; } 

    [Display(Name = "SpecializationDescription")] 
    public string SpecializationDescription { get; set; } 

    public IEnumerable<SelectListItem> Items { get; set; } 
    public int SelectedSpecializationID { get; set; } 
} 

컨트롤러 :

public ActionResult Physicians() 
{ 
    SpecializationManager spec = new SpecializationManager(); 
    List<Specialization> SpecializationList = spec.GetAllSpecialization(); 

    var obj = new SpecializationModel(); 

    obj.Items = new[] 
    { 
     foreach(var x in SpecializationList) 
     { 
      new SelectListItem { Value = x.SpecializationID.ToString(), Text = x.SpecializationDescription }; 
     } 
    }; 

    return View(obj); 
} 

나는 데이터베이스에서 데이터를 추출 내 LINQ 쿼리를 포함이 관리자가 있습니다. 컨트롤러에서 문제가 발생했습니다. 여기서 오류 지점은 foreach의 말을 사용합니다. Invalid expression term foreach

누구나 올바른 방향을 가르쳐 줄 수 있습니까? 고마워요!

편집 :

은 내가 foreach는 부분 (내가 위에서 무엇을 결합하는 아래의 게시물에 대한 감사)에 오류없이 지금이 코드가 있습니다. 그러나, 나는 마지막 선을 작동시키는 것처럼 보일 수 없다. 암시 적 캐스트에 대한 오류가 발생합니다.

var items = new List<SelectListItem>(); 
foreach (var x in SpecializationList) 
{ 
    items.Add(new SelectListItem { Value = x.SpecializationID.ToString(), Text = x.SpecializationDescription }); 
} 

obj.Items = items.ToList(); 

제발 도와주세요. 감사합니다 :) yopu는 생성자에서 foreach 문을 넣을 수 없습니다

답변

1

는 시도 :

var items = new List<SelectListItem >(); 
foreach(var x in SpecializationList) 
{ 
      items.add(new SelectListItem { Value = x.SpecializationID.ToString(), Text = x.SpecializationDescription }); 
} 

obj.Items = items; 

+0

안녕을 편집! 응답 해 주셔서 감사합니다. 하지만 코드에 오류가있는 것 같습니다. 'items.Add (x)'부분에서 컴파일러는 잘못된 인수를 가지고 있다고 말합니다. 또한,'items.ToArray()'는 SelectListItem을 IEnumerable 으로 암시 적으로 변환하는 것에 대한 에러를 발생시킵니다. – Smiley

+0

위의 내용을 지금 시도하십시오 – Liam

+0

그것이 작동하지 않으면 obj.Items가 무엇인지 알려주 실 필요가 있습니다! – Liam

관련 문제