我有两个课程:Store
和Machine
。
现在我构建了一个视图,其中显示与已登录用户关联的Stores
:
public async Task<IActionResult> Index()
{
var Tiendas = await _context.Stores.Where(t => t.Usuario == User.Identity.Name).Include(t => t.Machines).ToListAsync();
LiqIndexData Liquid = new LiqIndexData()
{
StoreL = Tiendas,
};
return View(Liquid);
}
在此代码中,我还为每个Machines
添加了Store
。
视图:
在我的视图中,我想为每个Store
提供所有Machines
注册的内容。为此,我使用导航标签
根据Stores
<ul class="nav nav-pills">
@foreach (var item in Model.StoreL)
{
<li><a href="#@item.StoreID" data-toggle="tab">@item.StoreName</a></li>
}
</ul>
<div class="tab-content">
@foreach (var item in Model.StoreL)
{
<div class="tab-pane fade in active" id="@item.StoreID"></div>
}
问题:
每个导航标签正文中显示的信息:
我尝试访问与每个Machine
相关联的每个Store
的信息。为此,我试图使用:
@foreach (var item in Model.StoreL)
{
<tr>
<td>
@Html.DisplayFor(modelItem => item.Machines
.Where(m=>m.StoreID==item.StoreID))
</td>
但我不知道如何进入该物业。如果我尝试:
@Html.DisplayFor(modelItem => item.Machines
.Where(m=>m.StoreID==item.StoreID).PropertyXYZ)
我明白了:
&#39; IEnumerable的&#39;不包含&#39; PropertyXYZ&#39;的定义没有扩展方法&#39; PropertyXYZ&#39;接受类型&#39; IEnumerable&#39;的第一个参数。可以找到(你错过了使用指令或程序集引用吗?)
有什么建议吗?
答案 0 :(得分:0)
由于错误试图告诉您,您的Machine
集合没有PropertyXYZ
。
根据您实际想要做的事情,您可以使用First()
只获得一个Machine
(而不是其他人),或者使用循环来完成所有这些操作。