Вчера я опубликовал несколько Html Extension методов, которые обрабатывают такие вещи:
Как кратко создать необязательные атрибуты HTML с механизмом просмотра бритвы?
Используя этот подходдаст вам следующий синтаксис Razor:
<li @Html.Css("selected", Model.Mode == "map" )>STUFF</li>
ПРИМЕЧАНИЕ: вы можете связать атрибуты вместе, чтобы создать значения атрибута на основе нескольких условий.Например:
<li @Html.Css("selected", true).Add("winner", false).Add("last", true)>STUFF</li>
будет выводить:
<li class="selected last">STUFF</li>
Кроме того, если значение результирующего атрибута пусто, атрибут свернется, чтобы сохранить ваш HTML аккуратным.