C#ページ別google訪問


using System;  
using System.Data;  
using System.Configuration;  
using System.Web;  
using System.Web.Security;  
using System.Web.UI;  
using System.Web.UI.WebControls;  
using System.Web.UI.WebControls.WebParts;  
using System.Web.UI.HtmlControls;  
using System.Text;  
  
/// <summary>  
/// Pagenumber        
/// </summary>  
public static class Pagenumber  
{  
    ///   <summary>   
         ///            
         ///   </summary>   
    public static string BuildPager(int totalRecords, int currentPage, int pageSize, int pid)  
    {  
        int alter = 4;  
        int startPage = 1;  
        int endPage = currentPage + alter;  
        int totalPages = CalculateTotalPages(totalRecords, pageSize);  
  
        if (currentPage > alter)  
        {  
            startPage = currentPage - alter;  
        }  
  
        if (endPage > totalPages)  
        {  
            endPage = totalPages;  
        }  
  
        string strTemp = @" <a href='Default.aspx?p={0}&pno={1}'>{2}</a>&nbsp; ";  
        StringBuilder sb = new StringBuilder("");  
        if (currentPage != startPage)  
        {  
            sb.Append(string.Format(strTemp, currentPage - 1, currentPage - 1, "     "));  
        }  
  
        for (int i = startPage; i <= endPage; i++)  
        {  
            if (currentPage == i)  
            {  
                sb.Append(" <font color=red> " + i + " </font>&nbsp;&nbsp; ");  
            }  
            else  
            {  
                sb.Append(string.Format(strTemp, i, i, "[" + i + "]"));  
            }  
        }  
  
        if (currentPage != endPage)  
        {  
            sb.Append(string.Format(strTemp, currentPage + 1, currentPage + 1, "     "));  
        }  
  
        return sb.ToString();  
    }  
   
          /**/ ///   <summary>   
         ///         
         ///   </summary>   
         ///   <param name="totalRecords">      </param>   
         ///   <param name="pageSize">       </param>   
    public static int CalculateTotalPages(int totalRecords, int pageSize)  
    {  
        int totalPagesAvailable;  
  
        totalPagesAvailable = totalRecords / pageSize;  
  
        //   C#               0,           1   
        if ((totalRecords % pageSize) > 0)  
            totalPagesAvailable++;  
  
        return totalPagesAvailable;  
    }  
}  
 
Demo2:
 
C#   
/**//// <summary>  
        ///   GOOGLE     ,   ,    http://www.phpx.com/happy/viewthread.php?tid=99280&extra=&page=2,  YourEyes  
         /// </summary>  
        /// <param name="total">    </param>  
        /// <param name="per">     </param>  
        /// <param name="page">    </param>  
        /// <param name="query_string">Url  </param>  
         private string pagination(int total,int per,int page,string query_string)  
         {  
             int allpage=0;  
             int next=0;  
             int pre=0;  
             int startcount=0;  
             int endcount=0;  
             string pagestr="";   
             if(page<1){page=1;}  
             //       
            if (per != 0)  
             {  
                 allpage = (total / per);  
                 allpage = ((total % per) != 0 ? allpage + 1 : allpage);  
                 allpage = (allpage == 0 ? 1 : allpage);  
             }  
             next=page+1;  
             pre=page-1;  
           startcount=(page+5)>allpage?allpage-9:page-4;//         
             //         
             endcount = page<5 ? 10 : page+5;  
             if(startcount<1) {startcount=1;} //             ,      1    1    
             if(allpage<endcount){endcount=allpage;}//  +5                   ,                
             pagestr=" "+ allpage +" &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";  
             
             pagestr+=page>1 ?  "<a href=\""+ query_string + "?page=1\">  </a>&nbsp;&nbsp;<a href=\""+ query_string +"?page="+ pre +"\">   </a>": "      ";  
              //     ,         ,         
              for(int i=startcount;i<=endcount;i++)  
              {   
                  pagestr+=page==i?"&nbsp;&nbsp;<font color=\"#ff0000\">"+i+"</font>":"&nbsp;&nbsp;<a href=\""+ query_string +"?page="+ i +"\">"+ i +"</a>";  
              }  
              pagestr+=page!=allpage ? "&nbsp;&nbsp;<a href=\""+ query_string+"?page="+ next +"\">   </a>&nbsp;&nbsp;<a href=\""+ query_string +"?page="+ allpage+"\">  </a>" : "       ";  
  
             return pagestr;             
         }