Есть ли лучший способ динамически добавлять CSS в бритву, чем с @if () - PullRequest
5 голосов
/ 26 марта 2012

Можно ли вообще оптимизировать назначение классов здесь?Я должен сделать это во многих разных местах, и я пытаюсь выяснить, как сделать это меньше ... копировать вставить-иш / inline.

@foreach(var m in Model.ObjectList)
{
 <td @if(m.RandomObject.isFlagged){
     <text>class="flagged"</text>
     }
 >
  @m.RandomObject.Name @m.RandomObject.Description
 </td>
}

Обратите внимание, что каждый ObjectList в разных местах имеет разные RandomObjects.

Полагаю, это тоже будет работать, но все же, похоже, не лучшая практика:

<td class="flagged@(m.RandomObject.isFlagged)">...

и тогда определение css будет .flaggedtrue

1 Ответ

7 голосов
/ 26 марта 2012

Я обычно использую троичный оператор ? для такого рода вещей

<td class="@(m.RandomObject.isFlagged ? "flagged" : "")">
  ...
</td>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...