Hi,
I think, you need to optimize the query.Because you are so sure that you are going to show only 6 records per page then you can do it in sql query itself right?
You can use the below query to do it
SELECT field_name FROM (SELECT ROW_NUMBER() OVER (ORDER BY field_name)as rowNo,* FROM dbo.table_name)as TotalRecords
WHERE TotalRecords.rowNo BETWEEN @startingPageNo AND @endingPageNo
Here, for parameter @startingPageNo AND @endingPageNo you need to pass the value from C# which might be easier to do.
Hope this helps you a bit.
Regards,
RK