2014-09-26 185 views
0

我有这个viewmodal这有助于我从两个不同的情态动词嵌套列表

public class stdmov_viewmodal 
    { 
     public IEnumerable<Movie> Movies { get; set; } 
     public IEnumerable<Student> Students { get; set; } 

    } 

的示意图如下

@model CodFirst.Models.stdmov_viewmodal 

<h2>Students</h2> 
     @foreach (var item in Model.Students) 
     { 
      @Html.DisplayName("student name: ") @item.fname <br /> 

     } 
     <h2>Songs</h2> 
     @foreach (var item in Model.Movies) 
     { 
      @Html.DisplayName("Movie name: ") <br /> 
     } 

有了这个,我是显示数据能够单独显示学生姓名和电影名称。 但是,如果我想要显示为学生ABC,看了电影mov1,mov2,mov3。

我想这

<ul> 
@foreach (var item in Model.student) 
      { 
<li>@item.fname 
<ul> 
    @foreach (var item in Model.Movies) 
      { 
    <li>@item.name<li> 
<ul> 
</li> 
</ul> 
+0

您可以创建一个视图模型,表示要显示什么 - 比如'StudentVM'含'学生'和一个附加属性'List MoviesWatched {get;组; }'。 – 2014-09-26 09:22:19

回答

0

您需要筛选你的电影的结果如下:

<ul> 
@foreach (var item in Model.student) 
{ 
    <li> 
     @item.fname 
     <ul> 
     @foreach (var item in Model.Movies.Where(movie => movie.WatchedByCollection.Any(wbc => wbc.Name == item.fname))) 
     { 
      <li>@item.name<li> 
     } 
     <ul> 
    </li> 
} 
</ul>