@{ int counter=0; }
@foreach(var item in Model.items){
counter++;
<span>@item.Name</span>
if(counter<Model.Items.Count)
{
@Html.Raw("|")
}
}
と短いバージョンです。
あなたは、より複雑なマークアップのためのカミソリ@helper
方法でこれを混在させることができます:
public static HtmlString LoopWithSeparator
(this HtmlHelper helper, string separator, IEnumerable<object> items)
{
return new HtmlString
(helper.Raw(string.Join(separator, items)).ToHtmlString());
}
使用法:
@helper ComplexMarkup(ItemType item)
{
<span>@item.Name</span>
}
@Html.Raw(string.Join("|", model.Items.Select(s => ComplexMarkup(s))))
をあなたも抽象Html.Raw()
とstring.Join()
呼び出しにヘルパーメソッドを作成することができます
@Html.LoopWithSeparator("|", model.Items.Select(s => ComplexMarkup(s)))
+1他のものよりもエレガント... –
これは非常に単純なループボディにのみ適しているようです。 – Marius
真実、その正面の改善のための編集を参照してください... – Oliver