Asp.net-Mvc

MVC Razor,將 if 語句添加到 foreach 循環

  • October 22, 2021

我正在嘗試將模型中的數據添加到帶有剃須刀的表中。我的問題是我想要一個 if 語句來決定 tagg 應該是什麼類,我不能讓它工作。

當我添加如果我在執行程式碼時收到以下錯誤

The foreach block is missing a closing "}" character

我應該如何添加if語句?這是我目前的程式碼

@{
     var counter = 0;            
}
@foreach (var item in Model)
{
      if(item.status == "Active") {
          <tr>
      }
      else {
          <tr class="danger">
      }
      <td>@counter</td>
      <td>@item.FirstName @item.LastName</td>
      <td>@item.Email</td>
      <td>@item.PhoneNumber</td>
      <td>Ändra</td>
      <td>Inaktivera</td>
       </tr>     
counter++;
}

MVC 應該檢測 html 標籤並將其呈現出來,但是這似乎並不總是有效。

在大括號之間,嘗試添加標籤

例如:

{
<text> 
  your html 
</text>
} 

要麼

如果您只是添加課程,請嘗試以下操作:

<tr @(item.status == "Active" ? String.Empty : "class=\"danger\"" )>

試試下面的程式碼。

@{
   var counter = 0;            
}
@foreach (var item in Model)
{
      if(item.status == "Active") {
         <text> <tr> </text>
      }
      else {
          <text><tr class="danger"></text>
      }
      <td>@counter</td>
      <td>@item.FirstName @item.LastName</td>
      <td>@item.Email</td>
      <td>@item.PhoneNumber</td>
      <td>Ändra</td>
      <td>Inaktivera</td>
       </tr>     
   counter++;
}

引用自:https://stackoverflow.com/questions/21301821