我需要转换为列出具有匿名类型的对象,因为当我对gridview进行数据绑定时,我得到了
“数据源不支持服务器端数据分页”
或我如何解决这个问题?
object o = HttpRuntime.Cache[key];
if(o is ICollection)
{
//Sort Object
o = ((IQueryable)this.DataSource).AsQueryable().OrderBy(SortExpresion);
DataSource = o;
DataBind();
}
从缓存返回的数据是可以的,问题是我扩展了gridview控件,数据源的数据类型总是不同的,我需要对存储在缓存中的这个匿名数据进行排序并在gridview中使用
答案 0 :(得分:2)
原因IQueryable
不支持分页。您需要将其转换为更具体的类型,例如List<T>
或建议的 REA_ANDREW ,PagedDataSource
。
o = ((IQueryable)this.DataSource).AsQueryable().OrderBy(SortExpresion).ToList();
答案 1 :(得分:0)
设置PagedDataSource类的数据源,然后将此对象指定为gridview的数据源。否则,创建一个对象数据源并将其绑定到gridview。
安德鲁