1

我有一个 List<> 包含在 ViewData 中。

reloadCollectionModel.ReloadCollection = new List<ReloadModels>();
foreach (DatoPaquete dato in result) 
{
reloadModel = new ReloadModels();  
reloadModel.IdPaquete = dato.id;     
reloadModel.Value = dato.monto;      
reloadCollectionModel.ReloadCollection.Add(reloadModel); 
}

//disordered (it's works)
ViewData["ReloadModelsCollection"] = reloadCollectionModel.ReloadCollection.AsEnumerable();

然后在剃须刀中,我使用 foreach 显示此列表。这行得通。

@foreach (var item in ViewData["ReloadModelsCollection3"] as List<ReloadModels>)
{
   <a href="@Url.Action("Confirm", "Reload", new { item.Value, item.IdPaquete, item.DaysToExpired })"></a>
} 

我的问题...当我对列表进行排序时,我不能使用 foreach 来显示它们(启动异常)。

ViewData["ReloadModelsCollection3"] = reloadCollectionModel.ReloadCollection.OrderBy(item => item.Value).AsEnumerable();

我需要更改我的 ViewData?或者改变我的foreach?

在此先感谢,对不起我的英语不好。

4

1 回答 1

0

因为你正在投射到一个列表。订购后将它们列成如下列表:

ViewData["ReloadModelsCollection3"] =
    reloadCollectionModel.ReloadCollection.OrderBy(item => item.Value).ToList();

那不是 AsEnumerable

于 2012-11-27T12:51:52.933 回答