gpt4 book ai didi

asp.net-mvc - 在 Razor 中循环遍历列表并在项目之间添加分隔符

转载 作者:行者123 更新时间:2023-12-04 00:14:52 24 4
gpt4 key购买 nike

我有一个要在 Razor View 中输出的项目列表。在每个项目之间我想添加一个分隔线,如下所示:

item1 | item2 | item3

循环遍历项目的最简单方法是使用 foreach:
@foreach(var item in Model.items){
<span>@item.Name</span> |
}

不幸的是,这会在列表末尾添加一个额外的分隔线。有没有一种简单的方法可以跳过最后一行分隔符?

最佳答案

您可以使用 string.Join :

@Html.Raw(string.Join("|", model.Items.Select(s => string.Format("<span>{0}</span>", s.Name))))

使用 string.Join不需要检查最后一个项目。

您可以将其与 Razor 混合使用 @helper更复杂标记的方法:
@helper ComplexMarkup(ItemType item)
{
<span>@item.Name</span>
}

@Html.Raw(string.Join("|", model.Items.Select(s => ComplexMarkup(s))))

你甚至可以创建一个辅助方法来抽象 Html.Raw()string.Join()调用:
public static HtmlString LoopWithSeparator
(this HtmlHelper helper, string separator, IEnumerable<object> items)
{
return new HtmlString
(helper.Raw(string.Join(separator, items)).ToHtmlString());
}

用法:
@Html.LoopWithSeparator("|",  model.Items.Select(s => ComplexMarkup(s)))

关于asp.net-mvc - 在 Razor 中循环遍历列表并在项目之间添加分隔符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15480370/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com