{"id":2788,"date":"2006-01-09T23:43:53","date_gmt":"2006-01-10T04:43:53","guid":{"rendered":"http:\/\/www.soulhuntre.com\/items\/date\/2006\/01\/09\/efficient-data-paging-with-the-aspnet-20-datalist-control-and-objectdatasource\/"},"modified":"2006-01-09T23:43:53","modified_gmt":"2006-01-10T04:43:53","slug":"efficient-data-paging-with-the-aspnet-20-datalist-control-and-objectdatasource","status":"publish","type":"post","link":"http:\/\/legacyiamsenseiken.local\/2006\/01\/09\/efficient-data-paging-with-the-aspnet-20-datalist-control-and-objectdatasource\/","title":{"rendered":"Efficient Data Paging with the ASP.NET 2.0 DataList Control and ObjectDataSource"},"content":{"rendered":"

Last weekend I posted about how to implement super efficient data-paging using the new ROW_NUMBER() within SQL 2005 (which is supported with the free SQL Express edition and up) and the new ASP.NET 2.0 GridView\/ObjectDataSource controls.<\/p>\n

The BIG win with this approach is that it enables a web-application to efficiently retrieve only the specific rows it needs from the database, and avoid having to pull back dozens, hundreds, or even thousands of results to the web-server – only to then end up trimming them down to the 10-15 you end up displaying on a web-page (which is what most data-paging solutions do today). This can lead to significant performance wins within your application (both in terms of latency and throughput), and reduce the load on your database.<\/p>\n

A few people have asked me to also provide a similar sample that demonstrates how to also implement efficient data-paging using an ASP.NET DataList or Repeater control instead (since neither of these have built-in paging UI semantics – but they do have the big benefit of allowing developers to have tight control over the html generated). <\/p><\/blockquote>\n

Efficient Data Paging with the ASP.NET 2.0 DataList Control and ObjectDataSource<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"

Last weekend I posted about how to implement super efficient data-paging using the new ROW_NUMBER() within SQL 2005 (which is supported with the free SQL Express edition and up) and the new ASP.NET 2.0 GridView\/ObjectDataSource controls. The BIG win with this approach is that it enables a web-application to efficiently retrieve only the specific rows […]<\/p>\n","protected":false},"author":3,"featured_media":53132,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"aside","meta":{"footnotes":""},"categories":[278],"tags":[],"_links":{"self":[{"href":"http:\/\/legacyiamsenseiken.local\/wp-json\/wp\/v2\/posts\/2788"}],"collection":[{"href":"http:\/\/legacyiamsenseiken.local\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/legacyiamsenseiken.local\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/legacyiamsenseiken.local\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"http:\/\/legacyiamsenseiken.local\/wp-json\/wp\/v2\/comments?post=2788"}],"version-history":[{"count":0,"href":"http:\/\/legacyiamsenseiken.local\/wp-json\/wp\/v2\/posts\/2788\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/legacyiamsenseiken.local\/wp-json\/wp\/v2\/media\/53132"}],"wp:attachment":[{"href":"http:\/\/legacyiamsenseiken.local\/wp-json\/wp\/v2\/media?parent=2788"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/legacyiamsenseiken.local\/wp-json\/wp\/v2\/categories?post=2788"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/legacyiamsenseiken.local\/wp-json\/wp\/v2\/tags?post=2788"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}