Если бы я хотел иметь несколько операторов if в атрибуте html, я мог бы сделать что-то вроде этого:
<input type="button" value="Bad, the title has a lot of excess spacing" title="@if(SomeModel.condOne) {
<text>this</text>
}
@if (SomeModel.CondTwo)
{
<text> is</text>
}
@if (SomeModel.CondThree)
{
<text> a title</text>
}
" />
Но это создает много пустых мест, которые нужно усекать.Так что это работает:
<input type="button" value="Good, the title is condenced" title="@if(SomeModel.condOne) {<text>this</text>}@if (SomeModel.CondTwo){<text> is</text>}@if (SomeModel.CondThree){<text> a title</text>}" />
Тот же принцип может быть применен к элементу с несколькими классами (например, class = "oddrow class1" -> class = "evenrow class2")
Но этоможет быть трудно читать, если это длинная строка.И Visual Studio имеет привычку разбивать это утверждение на несколько строк, если вы коснетесь скобок или Ctrl-K, Ctrl-D (что может сделать любой следующий разработчик).
Существует ли лучший или более надежный способ реализации нескольких условий атрибута в строке для бритвы MVC?