排序通用列表以显示使用foreach(mvc)

时间:2012-11-27 12:49:47

标签: asp.net-mvc list sorting

我有一个列表<>包含在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来显示它们(启动Exception)。

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

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

提前致谢,抱歉我的英语不好。

1 个答案:

答案 0 :(得分:0)

因为您正在转换为List。订购后,按如下方式列出一个清单:

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

那不是AsEnumerable