【问题标题】:"The data source does not support server-side data paging" when using a front-end collection使用前端集合时“数据源不支持服务器端数据分页”
【发布时间】:2010-11-19 12:49:22
【问题描述】:

我目前有一个转发器,其数据源是一个 List,其中 ModelObject 是前端中的一个自定义类,用于帮助呈现更复杂的 LINQ to SQL 对象。例如,它为链接、状态名称等呈现 URL。状态名称不在数据库中,因为我们知道有一天我们必须本地化这个应用程序。

现在我需要对该列表进行分页和排序,因此我尝试切换到网格视图以利用开箱即用的功能。我收到错误“数据源不支持服务器端数据分页”。我可以使用什么样的数据源仍然允许我的前端自定义输出?这似乎应该是一项常见任务,因为本地化的应用程序需要来自 resx 文件的排序值。

感谢您的帮助。

【问题讨论】:

  • 我拥有的代码过于广泛,无法轻松包含。我将不得不在一个新项目中做一个更简单的例子,这可能有助于我解决问题。

标签: .net asp.net sorting gridview exception-handling


【解决方案1】:

您不能使用 IQueryable 对象将数据绑定到 GridView 并仍然使用分页和排序。您必须使用 ToList() 方法将列表返回给 GridView。

有关详细信息,请参阅此 DevToolShed 文章:
http://www.devtoolshed.com/content/gridview-objectdatasource-linq-paging-and-sorting

【讨论】:

  • 这个链接很有帮助。我要做的第一件事是将数据源从 IEnumerable 更改为 IList。我想我必须更多地使用自定义 ObjectDataSource,但同样,此链接涵盖了这一点。
【解决方案2】:

对于那些遇到此错误但正在实施的人:

IEnumerable<T> or 
IEnumerable or 
IList<T> or 
IDictionary<T1, T2>.

您需要实现ICollection(非泛型)才能通过“数据源不支持服务器端数据分页”错误。

【讨论】:

    猜你喜欢
    • 2010-12-12
    • 2012-03-12
    • 2014-08-20
    • 2012-03-31
    • 2018-09-12
    • 2013-08-06
    • 1970-01-01
    相关资源
    最近更新 更多