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 № 1Sie 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>