Asp.net mvc 如何将IEnumerable映射到ListBox的IList

Asp.net mvc 如何将IEnumerable映射到ListBox的IList,asp.net-mvc,fluent-nhibernate,object,orm,Asp.net Mvc,Fluent Nhibernate,Object,Orm,我有两节课。一班和二班 public class Class1{ ... public virtual IList<Class2> Class2s{get;set;} ... } public class Class2{ ... public virtual IList<Class1> Class1s{get;set;} ... } 视图包含 <%=Html.ListBox("Class2s",

我有两节课。一班和二班

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的输出映射回Class1的IList Class2s属性?我可以在列表框中显示值,但无法将SelectListItem映射回IList。

将完成此操作。您必须在aspx页面中导入System.Linq命名空间。

您应该停止在视图中编写应用程序。你需要解释一下,你是想在表单发布后映射,还是想在内部视图中映射。谢谢你的评论。我想绘制内部视图。通过这种方式,我直接获取映射对象,而不是使用Id显式地从存储库获取它。ListBox将接受IEnumerable。那么我需要打电话到哪里?