在循环字典时创建两个无序列表

时间:2012-12-25 14:59:09

标签: c# .net asp.net-mvc-3 razor

我正在尝试根据词典中的数据创建两个无序列表。我想要的是当循环到达字典的一半时我希望它关闭第一个<ul>并开始另一个。

这是我尝试过的,但它不起作用:

<ul>
    @foreach( var productData in products )
    {
        if(products.ElementAt(products.Count / 2).Key != productData.Key)
        {
            </ul>
            <ul>
        }
        <li><span>@productData.Key</span> : <label>@productData.Value</label></li>
    }
</ul>

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:3)

<ul>
@foreach( var productData in products.Take(products.Count / 2))
{
    <li><span>@productData.Key</span> : <label>@productData.Value</label></li>
}
</ul>

<ul>
@foreach( var productData in products.Skip(products.Count / 2))
{
    <li><span>@productData.Key</span> : <label>@productData.Value</label></li>
}
</ul>

但请考虑将两个字典传递给您的视图。