设置FOREACH中的项目顺序

时间:2013-01-25 02:21:53

标签: c# foreach

我的控制器将一个对象列表传递给我的视图,允许我:

        @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

但尚未获得快乐。

THX

1 个答案:

答案 0 :(得分:7)

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

应该是

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