我正在从仓库数据库中提取数据并显示在网页上。
这将拉取所有数据。
@foreach (WarehouseCategoryModel categoryModel in Model.Categories)
{
<tr>
<td>@Html.ActionLink(categoryModel.Name, "Category", "-WarehouseCatalog", new { ide = categoryModel.ID }, null)</td>
<td>@categoryModel.Count</td>
</tr>
}
我需要显示计数大于0的每个类别。
我试过了:
if(@categoryModel.Count > 0)
{
<td>@categoryModel.Count</td>
}
发布于 2016-05-03 21:18:50
你把@
放错地方了。它应该出现在if
之前,如下所示
@if(categoryModel.Count > 0)
{
<td>@categoryModel.Count</td>
}
else
{
<td></td>
}
发布于 2016-05-03 21:26:38
您可以使用Where()
子句显式地过滤掉正在迭代的项:
<!-- Only iterate through those with Counts greater than 0 -->
@foreach (WarehouseCategoryModel categoryModel in Model.Categories.Where(c => c.Count > 0))
{
<!-- Do work here -->
}
如果您想要处理模型或类别可能为空的情况,可以添加以下显式检查:
<!-- Ensure you have categories to loop through (avoids null exceptions) -->
@if(Model?.Categories != null)
{
<!-- Only iterate through those with Counts greater than 0 -->
foreach (WarehouseCategoryModel categoryModel in Model.Categories.Where(c => c.Count > 0))
{
<!-- Do work here -->
}
}
else
{
<tr>
<td>No Categories Available</td>
</tr>
}
如果您打算处理此问题,您可能希望在ViewModel本身中包含此逻辑,而不是在视图中,但总体思路是相同的。
发布于 2016-05-03 21:20:31
正如评论中提到的。这应该是可行的:
<td>
if(@categoryModel.Count > 0)
{
@categoryModel.Count
}
</td>
https://stackoverflow.com/questions/37005227
复制相似问题