将ViewModels列表中的单个值传递到视图
问题描述:
我有一个从我的控制器传入的ViewModel的列表。我的观点是建立在每一个价值观的基础上。然而,有一个价值,我的标题,我只想拉一次,我不希望我的列表中有一个标题为foreach项目。我会如何写?我试图将ViewModels列表中的单个值传递到视图
<h1 class="header-title">@Model.CollectionsManagementViewModels.Select(i => i.Title)</h1>
但它拉在一个字符串
“System.Linq.Enumerable + WhereSelectListIterator`2 [Program.Models.ViewModels.CollectionsManagementViewModel,System.String]”
答
您正在设置h1
标记的html集合,因为Select()
将投影一个新集合,只有一个属性为Title
属性,您需要将FirstOrDefault()
作为一个属性快速修复此:
<h1 class="header-title">@Model.CollectionsManagementViewModels
.Select(i => i.Title)
.FirstOrDefault()
</h1>
,或者如果它用于确保数据总是存在的,那么你可以使用像First()
:
<h1 class="header-title">@Model.CollectionsManagementViewModels
.First()
.Title
</h1>
笑,哇我觉得愚蠢。谢谢。 – CheezStix