2011-09-02 4 views
0

강력한 형식의 목록 상자에서 여러 값을 처리하는 데 문제가 있습니다. 여러 기술 클래스를 가질 수있는 이벤트 클래스가 있습니다. 내가ASP.NET MVC3 - 강력한 형식의 목록 상자에서 여러 값 처리 문제

public IEnumerable<Technology> Technologies { get; set; } 

public List<Technology> Technologies { get; set; } 

및 변경을 사용하지만 여전히 같은 오류가 발생했습니다

public class Event 
{ 
    public int ID { get; set; } 
    public IEnumerable<Technology> Technologies { get; set; } 
} 

:

은 여기 내 간단한 이벤트 클래스입니다. 여기

은 그것의, 기술 클래스의 정말 간단한

public class Technology 
{ 
    public int ID { get; set; } 
    public String Description{ get; set; } 
} 

여기 내 간단한 컨트롤러

public ActionResult Create() 
    { 
     var TechnologyQry = from d in db.Technology 
           orderby d.Description 
           select new { d.ID, d.Description }; 
     ViewBag.eventTechnology = new MultiSelectList(TechnologyQry ,"ID","Description"); 
     return View(); 
    } 

그리고 여기에 목록 상자를

@Html.ListBoxFor(model => model.Technologies, (MultiSelectList)ViewBag.eventTechnology) 

및 thit의 렌더링 뷰 부분이다 오류가 발생했습니다

키가 'Technologies'인 ViewData 항목의 형식은 'System.Collections.Generic.List`1입니다. [stuff.Models.Technology, stuff, Version = 1.0.0.0, Culture = neutral, PublicKeyToken = null ]] '형식이어야하지만'IEnumerable '형식이어야합니다. ./

죄송합니다, 영어가 나의 주요 언어가 아닙니다. 내가 얻을 수있는 도움을 주시면 감사하겠습니다. 감사합니다.

답변

0

보기 @model ...에서 정의한 모델은 무엇입니까?
게다가 Create 메서드는 /로 사용할 모델을 모델로 반환하지 않습니다. name 속성에 목록 상자를 "기술"로 표시하려면 다음을 사용할 수 있습니다.

@Html.ListBox("Technologies", (MultiSelectList)ViewBag.eventTechnology) 
관련 문제