转换为列出具有匿名类型的对象

时间:2009-12-16 23:35:44

标签: c# asp.net linq mvp anonymous-types

我需要转换为列出具有匿名类型的对象,因为当我对gridview进行数据绑定时,我得到了

“数据源不支持服务器端数据分页”

或我如何解决这个问题?

object o =  HttpRuntime.Cache[key];

if(o is ICollection)
{
    //Sort Object
    o = ((IQueryable)this.DataSource).AsQueryable().OrderBy(SortExpresion);

    DataSource = o;

    DataBind();

}

从缓存返回的数据是可以的,问题是我扩展了gridview控件,数据源的数据类型总是不同的,我需要对存储在缓存中的这个匿名数据进行排序并在gridview中使用

2 个答案:

答案 0 :(得分:2)

原因IQueryable不支持分页。您需要将其转换为更具体的类型,例如List<T>或建议的 REA_ANDREW PagedDataSource

实施例

o = ((IQueryable)this.DataSource).AsQueryable().OrderBy(SortExpresion).ToList();

答案 1 :(得分:0)

设置PagedDataSource类的数据源,然后将此对象指定为gridview的数据源。否则,创建一个对象数据源并将其绑定到gridview。

安德鲁