剃刀中的多个foreach循环

时间:2016-09-08 13:09:19

标签: c# razor foreach

我想使用foreach迭代一个集合,但我想要每个对象的属性来确定迭代中它出现的位置。为了从根本上实现这一点,我使用了2个foreach循环来首先获取主列表,然后获取辅助列表。值为 DEPtxt ,包含该值的属性为 Course_Departments Course_Departments2

@foreach (ContentNode node in pgnodes.Where(x => x.Data.Course_Departments.ToString() == DEPtxt)){

                <li class="sys_subitem" style="display: list-item;"><a title="@node.Title" href="@node.Path">@node.Title</a></li>  
            }
            @foreach (ContentNode node in pgnodes.Where(x => x.Data.Course_Departments2.ToString() == DEPtxt)){

                <li class="sys_subitem" style="display: list-item;"><a title="@node.Title" href="@node.Path">@node.Title</a></li>  
            }

为了放入上下文,Linq查询抓取了对象的2个属性之一中具有字符串值的所有对象。我希望foreach循环首先在 Course_Departments 中显示包含它的所有对象,然后再显示 Course_Departments2

多个foreach循环是最好的方法吗?

我必须对查询进行排序吗?我是否必须创建一个对其进行排序的列表?我希望尽可能少地访问数据存储,并让剃须刀引擎完成大部分工作。

谢谢!

1 个答案:

答案 0 :(得分:-1)

如果您想要从集合中获取要显示的项目的排序列表,则应始终对项目进行排序,并尽可能在视图外进行操作。

相关问题