Paging process need to implement based on files in a directory. The following method will return 3(pagesize) FileInfo objects based on pageIndex from a specific directory.
private IList<FileInfo> GetFiles(string directory, int pageIndex)
{
var fileInfoList = new List<FileInfo>();
int pageSize = 3;
string[] fileFullNames = Directory.GetFiles(directory);
int start = pageIndex * pageSize ;
int loopCounter = 0;
for (int index = start; index < fileFullNames.Count(); index++)
{
fileInfoList.Add(new FileInfo(fileFullNames[index]));
loopCounter++;
if (loopCounter == pageSize)
break;
}
return fileInfoList;
}
Client code as follows
IList<FileInfo> page1 = GetFiles("D:\\FileList", 0);
IList<FileInfo> page2 = GetFiles("D:\\FileList", 1);
IList<FileInfo> page3 = GetFiles("D:\\FileList", 2);
IList<FileInfo> page4 = GetFiles("D:\\FileList", 3);
Your client code may be differ based on control you use for. Like gridview/client side table etc just you adjust these code. I show here how to call that paging method 3 times with different page index; I test it with create a directory and save 10 different files there and pick files page by page.