2010-03-24 3 views
0

두 클래스가 있습니다. Class1과 Class2.ListBox에 대해 IEnumerable <SelectListItem>을 IList <>에 매핑하는 방법

public class Class1{ 
    ... 
    public virtual IList<Class2> Class2s{get;set;} 
    ... 
} 
public class Class2{ 
    ... 
    public virtual IList<Class1> Class1s{get;set;} 
    ... 
} 

보기는

<%=Html.ListBox("Class2s", 
         ViewData.Model.Class2s.Select(
                x => new SelectListItem { 
                 Text = x.Name, 
                 Value = x.Id.ToString(), 
                 Selected = ViewData.Model.Class1.Class2s.Any(y => y.Id == x.Id) 
                }) 

그들은 많은 매핑 많은이 포함되어 있습니다. Class2 표시하는 Class1보기에서 ListBox가 있습니다. ListBox의 출력을 Class1의 IList Class2s 속성에 다시 매핑하는 방법은 무엇입니까? ListBox에 값을 표시 할 수 있지만 SelectListItem을 IList에 다시 매핑 할 수 없습니다.

+0

보기에서 응용 프로그램의 코딩을 중단해야합니다. 그리고 설명 할 필요가 있습니다. 양식의 POST_ 또는 내부보기 뒤에 _ 맵핑을 원하십니까? – queen3

+0

의견을 주셔서 감사합니다. 내부보기를 매핑하고 싶습니다. 이 방법을 사용하면 ID를 사용하여 리포지토리에서 명시 적으로 가져 오는 대신 매핑 된 개체를 직접 가져올 수 있습니다. – abdulmuqsith

답변

0

ToList()이됩니다. aspx 페이지에 System.Linq 네임 스페이스를 가져와야합니다.

+0

Html.ListBox는 IEnumerable 을 허용합니다. ToList()를 어디에서 호출해야합니까? – abdulmuqsith

관련 문제