如何将IEnumerable 映射到列表框的IList <>
问题描述:
我有两个类。 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。
答
ToList()会做到这一点。您必须在您的aspx页面中导入System.Linq
命名空间。
+0
Html.ListBox将接受IEnumerable
您应该停止在视图中编写应用程序。你需要解释一下,你想要在表格的POST_之后或视图内映射__。 – queen3 2010-03-24 21:56:41
感谢您的评论。我想在地图里面查看。这样我直接获取映射对象,而不是使用Id从仓库明确获取它。 – abdulmuqsith 2010-04-13 06:55:22