this is just off the top of my head. Try populating a
List<>
from the datareader and the use LINQ extensions Skip() and Take() to move one item at a time on next prev button click event. In this case, starting page index would be zero and page size would be 1.
So, something like:
string item = list.Skip(currentpageindex*pagesize).Take(pagesize).Select(x=>x).FirstOrDefault()
should work. You would have to make sure that the page index is a global or a static variable that would retain its most recent value between page switches.
Hope this helps.