问题描述
我使用2sxc App列出了职业卡。在每张卡上,我都有一个分配有类别的CSS类,以便可以使用侧栏中的按钮过滤列表。 (使用名为mixitup的JavaScript)。
因此,CSS类“ social-studies”可能会显示10次,Math可能会显示1次,Science可能会显示7次,具体取决于类别分配给职业的次数。
对于侧边栏的过滤器按钮,我只想显示使用的过滤器。因此,如果我的类别是:
- 社会研究
- 数学
- 科学
- 体育教育
- 英语
- 历史
但是,如果仅使用社会研究,数学和科学,我只想显示这3个。
使用2sxc中的典型循环,我可以循环遍历每个实例,但这会创建一个包含重复的过滤器按钮的大列表。如何在c#剃刀中创建仅提供过滤器唯一实例的循环?
解决方法
这比我想的要容易。我发现了“ .Distinct()”
@foreach(var career in AsList(Data)) {
foreach(var schoolCategory in AsList(career.Categories as object).Distinct()){
<button type="button" data-filter="@Html.Raw(".filter-" + schoolCategory.SchoolCategory.ToLower().Replace(" ","-"))" class="badge badge-secondary">@Html.Raw(schoolCategory.SchoolCategory)</button>
}
}