我目前有一个转发器,其数据源是一个List,其中ModelObject是前端的自定义类,用于帮助呈现更复杂的LINQ to SQL对象。例如,它为链接,状态名称等呈现URL。状态名称不在数据库中,因为我们知道有一天我们必须本地化这个应用程序。
现在我需要对此列表进行分页和排序,因此我尝试切换到gridview以利用开箱即用的功能。我收到错误“数据源不支持服务器端数据分页”。我可以使用哪种数据源仍然允许我的前端自定义输出?这似乎应该是一项常见任务,因为本地化的应用程序需要来自resx文件的排序值。
感谢您的帮助。
答案 0 :(得分:8)
您无法使用IQueryable对象将数据绑定到GridView,仍然使用分页和排序。您必须使用ToList()方法将List返回给GridView。
有关更多信息,请参阅此DevToolShed文章:
http://www.devtoolshed.com/content/gridview-objectdatasource-linq-paging-and-sorting
答案 1 :(得分:3)
对于那些收到此错误但正在执行的人:
IEnumerable<T> or
IEnumerable or
IList<T> or
IDictionary<T1, T2>.
您需要实现ICollection(非泛型的)才能通过“数据源不支持服务器端数据分页”错误。