MVC剃刀代码问题

时间:2014-04-13 00:23:56

标签: asp.net-mvc razor

我试图做以下事情:

<tbody class="searchable">
    @foreach (var item in Model)
    {
        if (item.Account.AccountName != "xyz")
            <tr class="danger">
        else
            <tr>

            <td>
                @Html.DisplayFor(modelItem => item.LocationName)
            </td>
            <td>
                @Html.DisplayFor(modelItem => item.City)
            </td>
        </tr>
    }
</tbody>

编译器不喜欢if语句,我试图动态创建行标记。我得到的错误说@foreach块错过了关闭&#39;}&#39;。我的猜测是&#39; if&#39;声明被误解了。有人可以建议我如何解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

您可以避免使用if,并执行以下操作:

<tr class='@(item.Account.AccountName != "xyz" ? "danger" : "")'>
    <td>
        @Html.DisplayFor(modelItem => item.LocationName)
    </td>
  <td>
    @Html.DisplayFor(modelItem => item.City)
  </td>
</tr>