C# 如何提高ASP.NET中GridView或DetailsView的效率?
在ASP.net中,当我们在Gridview或DetailsView上执行分页时,Gridview每次都会从数据库中获取所有行 假设我们的数据库包含100行,并且我们在Gridview中配置了页面大小为每页10条记录的分页。但是,每当我们为任何特定的页码单击Gridview的pager控件时,Gridview应该只从数据库中获取特定的10行 如果我们点击第3页,那么它应该只查询第21-30行,但它会获取所有行,而忽略其余的行。这只是浪费资源C# 如何提高ASP.NET中GridView或DetailsView的效率?,c#,asp.net,.net,gridview,detailview,C#,Asp.net,.net,Gridview,Detailview,在ASP.net中,当我们在Gridview或DetailsView上执行分页时,Gridview每次都会从数据库中获取所有行 假设我们的数据库包含100行,并且我们在Gridview中配置了页面大小为每页10条记录的分页。但是,每当我们为任何特定的页码单击Gridview的pager控件时,Gridview应该只从数据库中获取特定的10行 如果我们点击第3页,那么它应该只查询第21-30行,但它会获取所有行,而忽略其余的行。这只是浪费资源 请其中任何一位向我推荐解决此问题的方法好吗?要实现此优
请其中任何一位向我推荐解决此问题的方法好吗?要实现此优化的数据获取,您必须实现自定义分页(而不是使用GridView分页)。此外,应该使用SQL只获取要在页面上显示的行(而不是所有数据) 请参阅以下相关链接: 您可以使用
另外,如果您使用的是Sql Server 2005+,您可以尝试使用ROW_NUMBER函数对数据库进行分页,如本文所述: