【发布时间】:2020-05-14 15:10:32
【问题描述】:
有人可以帮我解释一下我该怎么做吗?
我需要按类别列出我的产品(目前工作正常),但现在我需要检查列出的每个产品是否是用户“愿望清单”的一部分。如果是,例如需要显示不同的图标颜色。
控制器:
// Products Id
var produtosId = _context.Product
.Where(m => m.IdProdutoCategoria == idCategoria ||
m.IdProdutoCategoriaNavigation.IdPai.Value == 1)
.Where(m => m.IsAtivo.Equals(true))
.GroupBy(m => m.Nome)
.Select(m => m.Min(p => p.IdProduto));
// products list
var products = await _context.Product
.Where(p => produtosId.Contains(p.IdProduto))
.Include(p => p.IdProdutoCategoriaNavigation)
.Include(p => p.IdProdutoTamanhoNavigation)
.Include(p => p.IdProdutoTipoMassaNavigation)
//.Include(p => p.WishList.Contains()
.ToListAsync()
.ConfigureAwait(true);
return View(products);
查看:
@* WishList Icon *@
<div class="WishList" data-id="@item.IdProduto" style="cursor: pointer">
<i class="@( item.XXXX == XX ? "fas fa-heart" : "far fa-heart") fa-1x text-success float-right mr-2 mb-2"></i>
</div>
【问题讨论】:
-
这是视图模型和投影派上用场的情况。向视图模型中添加一个名为
IsOnWishList的字段,并将其设置为等于IsOnWishList = x.WishList.Any()。现在您可以在 Razor 中使用该值。 -
您需要为给定的用户 X 获取按类别分组的白名单产品吗?
-
需要给定用户的所有产品的结果。当某些产品在他的愿望清单中时,在 Razor 中使用的一些价值可以像图标一样显示。我会尝试@SteveGreene 的建议。
标签: c# asp.net-mvc linq asp.net-core