A lot has happened in ASP.NET 2.0 when it comes do databinding. There are the data sources that make it really easy to grab some data from a SQL database. There is even the ObjectDataSource so Microsoft effectively introduced the middle tier in ASP.NET applications (as a speaker on a conference put it eloquently). But how do I use custom paging? If I just go ahead and read all data from the database, then discard all but a few records, well ... I'll be in for an unpleasant surprise the moment somebody grabs a profiler. There has to be a better way.
And there is ... it's all beautifully written in a tutorial called Efficiently Paging Through Large Amounts of Data on www.asp.net. There are both C# and VB versions. There are also lots of other data-related tutorials as well, which I'll be sure to read over time.