如果字符串不为空或使用 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>