设置FOREACH中项目的顺序

4

我的控制器将对象列表传递给视图,使我能够:

        @foreach (var optiongroup in Model)
        {

在这个模型中有一个 IEnumerable<Option>。我需要对这个选项列表进行排序,以便当我:

@foreach (var option in optiongroup.Options){

最终我得到了一个列表,其中项目根据名为option.SortOrder的属性进行排序,而不是每个项目的序号位置。

那么在foreach之前如何对列表进行排序?我尝试过:

@foreach (var option in optiongroup.Options.OrderByDescending(o => optiongroup.SortOrder))

并且:

IEnumerable<Option> allOptions = optiongroup.Options.OrderByDescending(o => optiongroup.SortOrder); 
// then foreaching the allOptions list

但还没有实现愉悦感。

谢谢


1
您正在按照 optiongroup.SortOrder 进行排序,每个项目的值都相同。 - Kugel
1个回答

7

This

IEnumerable<Option> allOptions = optiongroup.Options.OrderByDescending(o => optiongroup.SortOrder);

应该是

IEnumerable<Option> allOptions = optiongroup.Options.OrderByDescending(o => o.SortOrder);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接