来自asp.net mvc中不同模态的嵌套列表

时间:2014-09-26 09:14:45

标签: asp.net-mvc

我有这个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>

1 个答案:

答案 0 :(得分: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>