2014-09-26 225 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>