/ / Generieren mehrerer CSS-Klassennamen mit Razor in ASP.Net - c #, asp.net, Rasierer, Rasierklingen-Seiten

Generieren mehrerer CSS-Klassennamen mit Razor in ASP.Net - c #, asp.net, Rasierer, Rasiererseiten

Ich muss mehrere CSS-Klassennamen in einer Ansicht mit Razor generieren, aber Razor behandelt Leerraum ein wenig schwierig

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

</footer>

Meine Hilfsmethode:

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

Wenn ich das Element inspiziere, ist die CSS-Fußzeile: class="footer" footer--no--border=""

Natürlich wird das nicht funktionieren. Meine Versuche, diese Situation mit C # und Razor sauber zu behandeln, waren nicht erfolgreich. Wie kann ich das in Razor erledigen?

Antworten:

1 für die Antwort № 1

Sie könnten einfach den ternären Operator verwenden:

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

</footer>

Das rendert so auf meiner Maschine (wenn someBooleanValue ist falsch):

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

</footer>