2010-03-24 57 views
0

我有兩個類。 Class1和Class2。如何將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) 
                }) 

他們有很多很多的映射。我有Class1視圖中顯示Class2的ListBox。如何將ListBox的輸出映射回Class1的IList Class2s屬性?我能夠顯示列表框中的值,但無法將SelectListItem映射回IList。

+0

您應該停止在視圖中編寫應用程序。你需要解釋一下,你想要在表格的POST_之後或視圖內映射__。 – queen3 2010-03-24 21:56:41

+0

感謝您的評論。我想在地圖裏面查看。這樣我直接獲取映射對象,而不是使用Id從倉庫明確獲取它。 – abdulmuqsith 2010-04-13 06:55:22

回答

0

ToList()會做到這一點。您必須在您的aspx頁面中導入System.Linq命名空間。

+0

Html.ListBox將接受IEnumerable 。那麼我需要在哪裏調用ToList()? – abdulmuqsith 2010-03-26 10:07:43

相關問題