【发布时间】:2019-08-23 00:42:18
【问题描述】:
所以我在我的 razor 页面视图中有这个项目集合,我将这些项目显示在一个表格中,如下所示:
@foreach (var item in Model.Items)
{
<tr class="itemsRow">
<td class="">
<a asp-controller="Catalog" asp-action="ProductPage" asp-route-id="@item.Id">
<img src="@item.ImageUrl" class="imageCell" />
</a>
</td>
<td class="">@item.Title </td>
<td class="">@item.Category </td>
<td class="">@item.Sku </td>
<td class="">@item.Location </td>
<td class="">@item.Available </td>
<td class="">@item.Notes </td>
</tr>
}
列表中的每个项目都属于一个类别@item.Category,多个项目可以属于同一个类别。我想创建一个包含唯一类别的下拉菜单,因此如果用户选择其中一个类别,页面将按该类别过滤项目。
我打算以一种非常丑陋的方式将类别放在一个列表中,然后做类似的事情
listOfCategories = new list;
foreach(item in Model.Items){
foreach(addedCategories in listOfCategories{
//if item.category isn't in the list of categories then add it to the list
}
}
有没有更好的方法来做到这一点?我并不十分担心性能,因为 99% 的用户的类别应该少于 20,但它太丑了,我不想这样编码
【问题讨论】: