我的 Controller 将对象列表传递给我的 View ,允许我:

        @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

但尚未实现喜悦。

谢谢

最佳答案


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

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

关于c# - 在 FOREACH 中设置项目的顺序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14514342/

10-11 10:53