如果字符串不为空或使用 Razor 不为空,则渲染 <li> 标签
Render <li> tags if string is not null or not empty with Razor
我只想在从模型接收到的字符串包含文本时显示一些 li 标签。现在我的列表如下所示:
ul class="ul-with-bullets">
@{
for (int i = 1; i < 6; i++)
{
if (@Model.GetValue("punkt" + i) != "")
{
<li>@Model.GetValue("punkt" + i)</li>
}
}
}
</ul>
模型包含 5 个属性(punkt1、punkt2 等),我只想为这些包含值(字符串)的属性显示一个 li 标签。我上面的代码仍然显示页面上的所有 li 标签。我也尝试使用 string.Empty 而不是 "" 但结果相同。
作为参考,这是 Umbraco 中 Archetype 属性 编辑器的局部视图。字段集中的每个 属性 都是一个文本字符串。
使用String.IsNullOrEmpty()
方法
<ul class="ul-with-bullets">
@{
for (int i = 1; i < 6; i++)
{
if (!String.IsNullOrEmpty( @Model.GetValue("punkt" + i)))
{
<li>@Model.GetValue("punkt" + i)</li>
}
}
}
</ul>
我只想在从模型接收到的字符串包含文本时显示一些 li 标签。现在我的列表如下所示:
ul class="ul-with-bullets">
@{
for (int i = 1; i < 6; i++)
{
if (@Model.GetValue("punkt" + i) != "")
{
<li>@Model.GetValue("punkt" + i)</li>
}
}
}
</ul>
模型包含 5 个属性(punkt1、punkt2 等),我只想为这些包含值(字符串)的属性显示一个 li 标签。我上面的代码仍然显示页面上的所有 li 标签。我也尝试使用 string.Empty 而不是 "" 但结果相同。
作为参考,这是 Umbraco 中 Archetype 属性 编辑器的局部视图。字段集中的每个 属性 都是一个文本字符串。
使用String.IsNullOrEmpty()
方法
<ul class="ul-with-bullets">
@{
for (int i = 1; i < 6; i++)
{
if (!String.IsNullOrEmpty( @Model.GetValue("punkt" + i)))
{
<li>@Model.GetValue("punkt" + i)</li>
}
}
}
</ul>