У меня есть многоуровневое раскрывающееся меню в приложении MVC, и я пытаюсь отсортировать товары по марке, полу и типу. Мое меню выглядит так:
<li>Man
<ul>
<li><h2>By Type</h2></li>
<li>CATEGORY</li>
</ul>
<ul>
<li><h2>By Brand</h2></li>
<li>BRAND</li>
</ul>
</div>
</li>
<li>
<li>Woman
<ul>
<li><h2>Categories</h2></li>
<li>CATEGORY</li>
</ul>
<ul>
<li><h2>Brands</h2></li>
<li>BRAND</li>
</ul>
</div>
</li>
<li>
и вот один из моих контроллеров:
public ActionResult Man(int type)
{
var productTypeModel = storeDB.Categories.Include("Products")
.Single(g => g.CategoryId == type);
return View(productTypeModel);
}
Это частичное представление, которое загружается в меню:
@model IEnumerable<Store.Models.Category>
<ul>
<li><h2>By Type</h2></li>
@foreach (var type in Model)
{
<li>@Html.ActionLink(type.Name,
"Man", "Store",
new { Category = type.CategoryId }, null)
</li>
}
</ul>
Можно ли как-нибудь отобразить только те категории и бренды, которые имеют продукты, связанные с каждым полом, используя лямбда-выражения? Я имею в виду, что я не хочу, чтобы "юбка" появлялась в "По типу", когда я просматриваю товары для мужчин, и я не хочу, чтобы в разделе дам появлялся бренд, в котором есть товары для мужчин.