如何使用2sxc和c#razor模板向div添加CSS类的动态列表?

如何使用2sxc和c#razor模板向div添加CSS类的动态列表?,razor,dotnetnuke,2sxc,Razor,Dotnetnuke,2sxc,这主要是一个C#Razor问题,但我提供了一些细节来帮助理解这个问题。基本上,我想在2sxc应用程序中为列表中的卡片分配一组CSS类 使用2sxc应用程序,我有一个显示标题和图片的“职业”列表。我还有一个边栏,它有过滤按钮,用户可以过滤结果。例如,他们会根据“学校类别”或“省份”进行筛选 我正在使用一个c#razor模板来输出这个职业列表。我还使用一个名为MixItUp的javascript对列表进行排序和过滤。MixItUp希望我将HTML中的CSS类分配给每个职业卡,以便它知道要过滤什么。在

这主要是一个C#Razor问题,但我提供了一些细节来帮助理解这个问题。基本上,我想在2sxc应用程序中为列表中的卡片分配一组CSS类

使用2sxc应用程序,我有一个显示标题和图片的“职业”列表。我还有一个边栏,它有过滤按钮,用户可以过滤结果。例如,他们会根据“学校类别”或“省份”进行筛选

我正在使用一个c#razor模板来输出这个职业列表。我还使用一个名为MixItUp的javascript对列表进行排序和过滤。MixItUp希望我将HTML中的CSS类分配给每个职业卡,以便它知道要过滤什么。在我的2sxc应用程序中,我有一个名为“职业”的内容类型,然后是另一个名为“学校类别”的内容类型。在“职业内容类型”中,我有一个学校类别的实体字段,因此我可以为每个职业分配多个学校类别

我遇到的问题是在我的C#razor模板中:在我的职业卡列表循环中,我创建了另一个循环来获取学校类别。看起来是这样的:

if (career.Categories.Count > 0) {
   foreach(var schoolCategory in AsList(career.Categories as object)){
            @Html.Raw(".filter-" + schoolCategory.SchoolCategory.ToLower().Replace(" ","-") + " ")
    }
}

但我不知道如何将这段代码的结果添加到职业卡div中?我尝试了不同的方法,比如将for每个部分都设置为变量,但我似乎无法在外部模板中使用循环外的变量


在这种情况下,我如何分配这些类?

我的朋友/开发人员帮助解决了问题,我们找到了答案

var schoolFilter = "";
if (career.Categories.Count > 0) {
   foreach(var schoolCategory in AsList(career.Categories as object)){
        schoolFilter += "filter-" + schoolCategory.SchoolCategory.ToLower().Replace(" ","-") + " ";
    }} 
<div class="mix @schoolFilter">card</div>
var schoolFilter=“”;
如果(career.Categories.Count>0){
foreach(AsList中的var schoolCategory(career.Categories作为对象)){
schoolFilter+=“filter-”+schoolCategory.schoolCategory.ToLower()。替换(“,“-”)+”;
}} 
卡片

顺便说一句:您也应该能够使用Linq和string.join-ca来完成同样的操作。如下所示

@{ var schoolFilter=string.Join(“),AsList(carrer.Categories作为对象) .选择(c=>“过滤器-”+c.SchoolCategory.ToLower()。替换(“,”-”); }