我有一个For ... MVC视图中列表的每个循环。我需要做的是查看属性以确定记录是否已被标记为已删除,然后我将Bootstrap类设置为" danger"在一排桌子上。
我可以查看属性并为每个条件编写表格行,但这似乎是额外的工作。如果我使用以下代码,Razor并不喜欢它无法看到初始标记的事实。关于如何干净利落地完成任何建议?
@foreach (var item in Model.MyList)
{
if (item.IsDeleted == 1)
{
@Html.Raw("<tr class='danger'>")
}
else
{
@Html.Raw("<tr>")
}
<td>@item.FirstName</td>
<td>@item.LastName</td>
<td>@item.EmployeeId</td>
</tr>
}
答案 0 :(得分:1)
这是解决问题的更简单方法
@foreach (var item in Model.MyList)
{
<tr class="@(item.IsDeleted ? "danger" : string.Empty) ">
<td>@item.FirstName</td>
<td>@item.LastName</td>
<td>@item.EmployeeId</td>
</tr>
}
答案 1 :(得分:0)
这样的事情怎么样?
@foreach (var item in Model.MyList)
{
<tr class="@(Model.deleted ? "danger" : "")">
<td>@item.FirstName</td>
<td>@item.LastName</td>
<td>@item.EmployeeId</td>
</tr>
}
答案 2 :(得分:0)
你可以这样简单地使用它
@foreach (var item in Model.MyList)
{
if (item.IsDeleted == 1)
{
<tr class="danger">
<td>@item.FirstName</td>
<td>@item.LastName</td>
<td>@item.EmployeeId</td>
</tr>
}
else
{
<tr>
<td>@item.FirstName</td>
<td>@item.LastName</td>
<td>@item.EmployeeId</td>
</tr>
}
或替代
@foreach (var item in Model.MyList)
{
<tr @(item.IsDeleted != 1 ? String.Empty : "class=\"danger\"" )>
<td>@item.FirstName</td>
<td>@item.LastName</td>
<td>@item.EmployeeId</td>
</tr>
}