【问题标题】:How do I render a list item differently on the last item?如何在最后一项上以不同方式呈现列表项?
【发布时间】:2015-05-16 11:21:02
【问题描述】:

我正在尝试制作一个如下所示的菜单:

日志 |公告 |地点 |目录 |政策

请注意,最后一项没有 |之后。

这是我现在的代码:

    <ul>
        @{
            var homeNode = Model.Content.AncestorOrSelf("Homepage");
        }
        @foreach (var node in homeNode.Children.Where("Visible"))
        {
            <li>
                <a href="@node.Url">@node.AsDynamic().Name</a> |
            </li>
        }
    </ul>

呈现这个:

日志 |公告 |地点 |目录 |政策 |

我可以在代码中添加什么以便添加 |在每个节点名称之后,除了最后一个?

【问题讨论】:

  • 如果您使用for 循环而不是foreach,您将能够知道您何时位于您迭代的集合中的最后一条记录。

标签: asp.net razor foreach umbraco


【解决方案1】:

这应该有效:

var homeNode = Model.Content.AncestorOrSelf("Homepage");

var nodes = homeNode.Children.Where("Visible");

foreach (var node in nodes)
{
    <li>
        <a href="@node.Url">@node.Name</a> 
        @if (node != nodes.Last())
        {
            @Html.Raw("&nbsp;|&nbsp")
        }
    </li>
}

【讨论】:

  • 我要试试这个。谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-06-15
  • 1970-01-01
  • 2017-05-31
  • 1970-01-01
  • 2017-07-11
相关资源
最近更新 更多