/ / Génération de plusieurs noms de classes CSS avec Razor dans ASP.Net - c #, asp.net, razor, razor-pages

Générer plusieurs noms de classe CSS avec Razor dans ASP.Net - c #, asp.net, razor, razor-pages

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

Vous 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>