Подтвердить что ты не робот

Как добавить класс в элемент html динамически с помощью синтаксиса бритвы?

Я хочу добавить класс к элементу <tr> в зависимости от атрибута модели:

<table>
  <tbody>
   @foreach (var item in Model)
   {
     if (item.Level == 1)
     {
       <tr class="classA">
     }
     else if (item.Level == 2)
     {
       <tr class="classB">
     }
     else
     {
       <tr>
     }

     <td>...</td>
     <td>...</td>         

     </tr>
   </tbody>
</table>

Моя IDE сообщает, что мой элемент <tr> не закрыт. Как я могу динамически добавить значение класса с помощью бритвы?

4b9b3361

Ответ 1

Я бы использовал тернарный оператор? и напишите что-нибудь подобное.

<tr class="@(item.Level==1?"classA":item.Level == 2?"classB":"")">

Это не очень читаемо и не будет работать со сложными компарадиями. В этих случаях я предлагаю вам объявить метод в режиме бритвы

@functions{ 
  public string GetClassFromLevel(int level) 
    {
        return level == 1 ? "classA" : level == 2 ? "classB" : "";
  }
}

<tr class"@GetClassFromLevel(item.Level)">