I have tested it by retrieving only one row from the table.
I have changed my Stored Procedure like this
ALTER PROCEDURE [dbo].[GetCustomersPageWise]
@PageIndex INT = 1
,@PageSize INT = 10
,@RecordCount INT OUTPUT
AS
BEGIN
SET NOCOUNT ON;
SELECT ROW_NUMBER() OVER
(
ORDER BY [CustomerID] ASC
)AS RowNumber
,[CustomerID]
,[CompanyName]
,[ContactName]
INTO #Results
FROM [Customers]
SELECT @RecordCount = 1
-- FROM #Results
SELECT Top 1 * FROM #Results
WHERE RowNumber BETWEEN(@PageIndex -1) * @PageSize + 1 AND(((@PageIndex -1) * @PageSize + 1) + @PageSize) - 1
DROP TABLE #Results
END
C#
private void PopulatePager(int recordCount, int currentPage)
{
double dblPageCount = (double)((decimal)recordCount / (decimal)PageSize);
int pageCount = (int)Math.Ceiling(dblPageCount);
List<PagerPage> pages = new List<PagerPage>();
if (pageCount > 0)
{
pages.Add(new PagerPage("اولین", "1", currentPage > 1, "button"));
if (currentPage == 1)
{
pages.Add(new PagerPage("قبلی", (currentPage).ToString(), currentPage > 1, "button"));
}
if (currentPage > 1)
{
pages.Add(new PagerPage("قبلی", (currentPage - 1).ToString(), currentPage > 1, "button"));
}
if (pageCount < 4)
{
for (int i = 1; i <= pageCount; i++)
{
pages.Add(new PagerPage(i.ToString(), i.ToString(), i != currentPage));
}
}
else if (currentPage < 4)
{
for (int i = 1; i <= 4; i++)
{
pages.Add(new PagerPage(i.ToString(), i.ToString(), i != currentPage));
}
pages.Add(new PagerPage("...", (currentPage).ToString(), false));
}
else if (currentPage > pageCount - 4)
{
pages.Add(new PagerPage("...", (currentPage).ToString(), false));
for (int i = currentPage - 1; i <= pageCount; i++)
{
pages.Add(new PagerPage(i.ToString(), i.ToString(), i != currentPage));
}
}
else
{
pages.Add(new PagerPage("...", (currentPage).ToString(), false));
for (int i = currentPage - 2; i <= currentPage + 2; i++)
{
pages.Add(new PagerPage(i.ToString(), i.ToString(), i != currentPage));
}
pages.Add(new PagerPage("...", (currentPage).ToString(), false));
}
if (currentPage != pageCount)
{
pages.Add(new PagerPage("بعدی", (currentPage + 1).ToString(), currentPage != pageCount, "button"));
}
pages.Add(new PagerPage("آخرین", pageCount.ToString(), currentPage < pageCount, "button"));
}
rptPager.DataSource = pages;
rptPager.DataBind();
}
Screenshot

You might be having issue with your Persian characters which are not getting displayed.
Try to debugged the code