Asp.net mvc 获取视图中另一个模型的名称和标题
我想在部分视图中获取模型流派的名称和模型列表的标题,但是@genre.Lists.title不起作用 这是我的类型模型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; } }
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>
}