【问题标题】:Render <li> tags if string is not null or not empty with Razor如果字符串不为空或不为空,则使用 Razor 渲染 <li> 标记
【发布时间】:2017-09-07 09:42:46
【问题描述】:

只有当从模型接收到的字符串包含文本时,我才想显示一些 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 属性编辑器的部分视图。字段集中的每个属性都是一个文本字符串。

【问题讨论】:

    标签: html asp.net-mvc for-loop razor umbraco


    【解决方案1】:

    使用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>
    

    【讨论】:

    • 酷,如果对你有帮助,别忘了接受作为答案:)
    • 将在 7 分钟内完成 :)
    猜你喜欢
    • 1970-01-01
    • 2021-11-07
    • 1970-01-01
    • 2018-11-02
    • 2020-10-03
    • 2014-04-04
    • 1970-01-01
    • 2014-08-17
    • 2017-05-07
    相关资源
    最近更新 更多