0

我正在关注此处提供的示例:http: //msdn.microsoft.com/en-us/library/bb497936.aspx

上半部分显示了一个存储过程,可用于仅返回所需的记录,例如,如果我有 100 条记录并且希望每页仅显示 10 条,我可以使用 proc 告诉它我想要的最大行数和要开始的 pageIndex。有没有办法在没有 ObjectDataSource 的情况下做同样的事情,所以使用自定义 DataAccess 层?我能够取回我想要的 10 条记录,但是我没有得到分页,因为 GridView 只看到 10 条从 proc 中返回,有没有办法告诉它我有 100 条,但我只显示这 10 条?

4

1 回答 1

0

就您的 DAL 而言,如果存储过程返回 10 条记录,那么这就是您的 DAL 所知道的全部。除非您告诉 DAL,否则您的 DAL 将无法知道基础数据中有多少记录。

如果您希望存储过程返回 100 行中的 10 行,并且您希望 DAL 知道总共有 100 行,那么您需要单独传递该值 - 也许在输出变量中?

如果您在存储过程中进行分页,如果您还评估受影响的总行数,您可能会失去您试图获得的性能。

听起来好像您的解决方案可以更好地构建,但在提供具体的架构建议之前,我们需要更好地了解您的需求以及您想要实现的目标。

于 2013-10-07T10:03:01.113 回答