/// 創建並顯示分頁器
/// </summary>
private void BuildPager(int totalRecords,int currentPage,int pageSize,int pid)
{
int alter = 4 ;
int startPage = 1 ;
int endPage = currentPage + alter ;
int totalPages = this.CalculateTotalPages(totalRecords,pageSize) ;
if(currentPage > alter)
{
startPage = currentPage - alter ;
}
if(endPage > totalPages)
{
endPage = totalPages ;
}
string strTemp = @"<a href='PhotoList.aspx?pid={0}&pno={1}'>{2}</a> " ;
StringBuilder sb = new StringBuilder("") ;
if(currentPage != startPage)
{
sb.Append( string.Format( strTemp , pid , 1 , "上一頁" ) ) ;
}
for( int i = startPage ; i <= endPage ; i++ )
{
if( currentPage == i )
{
sb.Append("<font color=red>" + i + "</font> ") ;
}
else
{
sb.Append( string.Format( strTemp , pid , i ,"[" + i + "]" ) ) ;
}
}
if(currentPage != endPage)
{
sb.Append( string.Format( strTemp , pid , currentPage + 1 , "下一頁") ) ;
}
this.ltlShowPager.Text = sb.ToString() ;
}
/**//// <summary>
/// 計算總頁數
/// </summary>
/// <param name="totalRecords">總記錄數</param>
/// <param name="pageSize">每頁記錄數</param>
private int CalculateTotalPages(int totalRecords, int pageSize)
{
int totalPagesAvailable;
totalPagesAvailable = totalRecords / pageSize;
//由於C#的整形除法 會把所有餘數舍入爲0,所以需要判斷是否需要加1
if ((totalRecords % pageSize) > 0)
totalPagesAvailable++;
return totalPagesAvailable;
}