在 ASP.Net 中使用 Razor 生成多个 CSS class 名称

Generating multi CSS class names with Razor in ASP.Net

我需要使用 Razor 在视图中生成多个 CSS class 名称,但是 Razor 处理白色 space 有点棘手

<footer class=@HtmlHelpers.TruthyValueSelector(false,"footer","footer footer--no--border">

</footer>

我的辅助方法:

public static string TruthyValueSelector(bool condition, string firstParameter, string secondParameter)
        {
            if (condition)
                return $"{firstParameter}";
            return $"{secondParameter}";
        }

当我检查元素时,页脚 css class 是:class="footer" footer--no--border=""

当然,这是行不通的。我尝试使用 C# 和 Razor 干净地处理这种情况,但没有成功。我如何在 Razor 中解决这个问题?

您可以只使用三元运算符:

<footer class="@( someBooleanValue ? "footer" : "footer footer--no--border" )">

</footer>

这在我的机器上呈现如下(当 someBooleanValue 为 false 时):

<footer class="footer footer--no--border">

</footer>