Asp.net mvc 获取视图中另一个模型的名称和标题

Asp.net mvc 获取视图中另一个模型的名称和标题,asp.net-mvc,entity-framework,Asp.net Mvc,Entity Framework,我想在部分视图中获取模型流派的名称和模型列表的标题,但是@genre.Lists.title不起作用 这是我的类型模型 public class Genre { public int GenreId { get; set; } public string Name { get; set; } public string Description { get; set; } public List<List> Lists { get; set; } }

我想在部分视图中获取模型流派的名称和模型列表的标题,但是@genre.Lists.title不起作用 这是我的类型模型

  public class Genre
{
    public int GenreId { get; set; }
    public string Name { get; set; }
    public string Description { get; set; }
    public List<List> Lists { get; set; }
}
这是我的个人观点

    @model IEnumerable<Store.Models.Genre>
    @foreach (var genre in Model)
    {
        @genre.Name
        @genre.Lists.Title
    }
@model IEnumerable
@foreach(模型中的var类型)
{
@类型.名称
@体裁、列表、标题
}

@genre.Lists
的类型是
List
,而不是
List
(顺便说一下,我会以某种方式重命名您的类,很容易与此名称的标准库类混淆)

因此,您需要另一个
foreach
循环来迭代
@genre.Lists
,或者您可以使用
@genre.Lists[0]获取第一个元素。Title
。你真正想要实现什么取决于你自己。例如,您可以使用
string.Join

@model IEnumerable<Store.Models.Genre>
@foreach (var genre in Model)
{
    <text>
        @genre.Name
        @string.Join(", ", genre.Lists.Select(x => x.Title))
    </text>
}
@model IEnumerable
@foreach(模型中的var类型)
{
@类型.名称
@string.Join(“,”,genre.Lists.Select(x=>x.Title))
}
或者写一些真正的HTML。同样,这取决于您希望输出的内容。

根本不需要
标记,但它看起来并不好-将值放在表中更合适
    @model IEnumerable<Store.Models.Genre>
    @foreach (var genre in Model)
    {
        @genre.Name
        @genre.Lists.Title
    }
@model IEnumerable<Store.Models.Genre>
@foreach (var genre in Model)
{
    <text>
        @genre.Name
        @string.Join(", ", genre.Lists.Select(x => x.Title))
    </text>
}