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 문을 넣을 수 없습니다
안녕을 편집! 응답 해 주셔서 감사합니다. 하지만 코드에 오류가있는 것 같습니다. 'items.Add (x)'부분에서 컴파일러는 잘못된 인수를 가지고 있다고 말합니다. 또한,'items.ToArray()'는 SelectListItem을 IEnumerable으로 암시 적으로 변환하는 것에 대한 에러를 발생시킵니다. –
Smiley
위의 내용을 지금 시도하십시오 – Liam
그것이 작동하지 않으면 obj.Items가 무엇인지 알려주 실 필요가 있습니다! – Liam