是否可以在不使用 ObjectDataSource 的情况下自定义 GridView(在 ASP.NET 中,最好是 3.5)分页?

Posted

技术标签:

【中文标题】是否可以在不使用 ObjectDataSource 的情况下自定义 GridView(在 ASP.NET 中,最好是 3.5)分页?【英文标题】:Is custom paging of GridView (in ASP.NET, preferably 3.5) possible without using ObjectDataSource? 【发布时间】:2010-12-26 10:38:21 【问题描述】:

见标题。

在我看来,使用 ObjectDataSource 与您可以在会议和视频教程中看到的快速演示相关联(通常告诉我“不要在生产中这样做”)。 此外,我总是喜欢控制正在发生的事情和发生的时间。我对 ObjectDataSource 的另一个问题是它是声明性的。

期待您的帮助和意见。

更新: 我只从数据库中检索一页结果,并且 GridView.PageCount 是只读的 [原文如此!]。

【问题讨论】:

从我目前发现的情况来看,我可能必须实现 IDataSource 接口,ObjectDataSource 为我做的。我真希望我能够设置 GridView.PageCount 属性。 【参考方案1】:

是的,您需要定义一个 PageIndexChanged 事件处理程序,以便在绑定到数据网格之前从源执行数据的实际分页,这与排序的想法相同,但使用了 SortCommand 处理程序。

【讨论】:

以上是关于是否可以在不使用 ObjectDataSource 的情况下自定义 GridView(在 ASP.NET 中,最好是 3.5)分页?的主要内容,如果未能解决你的问题,请参考以下文章

使用具有 EnableCaching = true 的 ObjectDataSource 优化分页和排序

ASP.NET2.0 ObjectDataSource的使用详解《转》

使用 EF5 Linq to Entities 作为 DAL 到 BLL 到 ObjectDataSource

使用 ObjectDataSource.Select() 方法最终会导致异常“操作无法完成,因为 DbContext 已被释放。”

QueryStringParameters 在 ASP.Net objectDataSource 上不起作用

ObjectDataSource 不调用 SelectCount 方法