J'ai besoin de générer plusieurs noms de classes CSS dans une vue à l'aide de Razor. Cependant, Razor traite les espaces blancs un peu délicat
<footer class=@HtmlHelpers.TruthyValueSelector(false,"footer","footer footer--no--border">
</footer>
Ma méthode d'assistance:
public static string TruthyValueSelector(bool condition, string firstParameter, string secondParameter)
{
if (condition)
return $"{firstParameter}";
return $"{secondParameter}";
}
lorsque j'inspecte l'élément, la classe css de bas de page est: class="footer" footer--no--border=""
Bien sûr, cela ne va pas marcher. Mes tentatives pour gérer cette situation proprement avec C # et Razor n’ont pas abouti. Comment puis-je prendre soin de cela dans Razor?
Réponses:
1 pour la réponse № 1Vous pouvez simplement utiliser l'opérateur ternaire:
<footer class="@( someBooleanValue ? "footer" : "footer footer--no--border" )">
</footer>
Cela se passe comme ça sur ma machine (quand someBooleanValue
c'est faux):
<footer class="footer footer--no--border">
</footer>