【发布时间】:2015-10-27 15:37:19
【问题描述】:
我有以下代码,我正在获取一个列表并将其平均分为三列:
<div>
@{
double num = listing.Count() / 3.0;
double blockSize = Math.Ceiling(num);
for (int i = 0; i < Math.Ceiling(listing.Count() / blockSize); i++)
{
<div class="col-sm-4">
@for (int j = i * (int)blockSize; j < (i * blockSize) + (int)blockSize && j < listing.Count(); j++)
{
/// How can I only display this header once?
foreach(string letter in letters)
{
if (letter.ToLower() == listing.ElementAt(j).Title.Substring(0,1).ToLower())
{
<h5 class="title"><a name="@letter.ToLower()">@letter.ToUpper()</a></h5>
}
}
<p><a href="#">@listing.ElementAt(j).Value</a></p>
}
</div>
}
}
</div>
我的问题是如何将嵌套的 foreach 循环编码为每个字母匹配只为真一次?产生如下输出:
<div class="row colIndentTop">
<div class="col-sm-4">
<h5 class="title"><a name="a">A</a></h5>
<p><a href="#">Alice</a></p>
<p><a href="#">Amy</a></p>
<h5 class="title"><a name="d">D</a></h5>
<p><a href="#">David</a></p>
<h5 class="title"><a name="f">F</a></h5>
<p><a href="#">Frank</a></p>
<h5 class="title"><a name="i">I</a></h5>
<p><a href="#">Ibrahim</a></p>
</div>
<div class="col-sm-4">
<h5 class="title"><a name="n">N</a></h5>
<p><a href="#">Nancy</a></p>
<h5 class="title"><a name="o">O</a></h5>
<p><a href="#">Olive</a></p>
<h5 class="title"><a name="p">P</a></h5>
<p><a href="#">Paul</a></p>
<p><a href="#">Patrick</a></p>
</div>
<div class="col-sm-4">
<p><a href="#">Patricia</a></p>
<h5 class="title"><a name="s">S</a></h5>
<p><a href="#">Sally</a></p>
<p><a href="#">Sean</a></p>
<h5 class="title"><a name="t">T</a></h5>
<p><a href="#">Thomas</a></p>
</div>
</div>
而不是:
<div class="row colIndentTop">
<div class="col-sm-4">
<h5 class="title"><a name="a">A</a></h5>
<p><a href="#">Alice</a></p>
<h5 class="title"><a name="a">A</a></h5>
<p><a href="#">Amy</a></p>
<h5 class="title"><a name="d">D</a></h5>
<p><a href="#">David</a></p>
<h5 class="title"><a name="f">F</a></h5>
<p><a href="#">Frank</a></p>
<h5 class="title"><a name="i">I</a></h5>
<p><a href="#">Ibrahim</a></p>
</div>
<div class="col-sm-4">
<h5 class="title"><a name="n">N</a></h5>
<p><a href="#">Nancy</a></p>
<h5 class="title"><a name="o">O</a></h5>
<p><a href="#">Olive</a></p>
<h5 class="title"><a name="p">P</a></h5>
<p><a href="#">Paul</a></p>
<h5 class="title"><a name="p">P</a></h5>
<p><a href="#">Patrick</a></p>
</div>
<div class="col-sm-4">
<h5 class="title"><a name="p">P</a></h5>
<p><a href="#">Patricia</a></p>
<h5 class="title"><a name="s">S</a></h5>
<p><a href="#">Sally</a></p>
<h5 class="title"><a name="s">S</a></h5>
<p><a href="#">Sean</a></p>
<h5 class="title"><a name="t">T</a></h5>
<p><a href="#">Thomas</a></p>
</div>
</div>
提前致谢!
【问题讨论】:
标签: c# asp.net-mvc for-loop foreach