情况的简短描述。
一个 Web 应用程序,用户可以在其中选择一些搜索条件,点击搜索按钮,然后查看显示在网格中的结果。
此应用程序在我们的开发服务器上按预期工作。但是,当部署在客户的服务器上时,网格的分页被破坏了:第一页是正确的,但下一页没有返回正确的行。我只能用一个例子来解释会发生什么:
假设第 1 页应显示结果 1-10,第 2 页应显示结果 11-20,等等。
发生的情况是这样的:第 1 页显示 1-10,第 2页显示1、2、3、4、6、8、9、28、29、30第3页显示 1、2、3、28、29、36 ,37,..
所以行被弄乱了,很多结果都没有显示(替换为上一页的结果)。另请注意,这些行不只是偏离了某个数字。
经过数小时的搜索和调试,我只能得出结论,正在使用的 SqlDataAdapter 的 Fill() 方法返回了错误的结果!适配器使用 SqlCommand,将 SQL 查询作为纯文本。我可以在 SQL Server Management Studio 中运行这个查询,它会返回正确的结果,所以它在 .NET 框架本身内部肯定会出错。
我尝试启用 .NET 源代码调试以进入 Fill 方法,但我无法让它工作,所以基本上我现在没有选择了..
非常感谢任何提示/建议!
<问题已解决,请看下面的答案>