整理 之前的动态分页

 

ExpandedBlockStart.gif View Code
 

using  System;
using  System.Web;
using  System.Text;

///   <summary>
///  Summary description for PageHelper
///   </summary>
public    class  PageHelper
{
    
///   <summary>
    
///  根据当前页码检查分页要显示那一段的分页页码,返回当前页面要显示的第一个页码
    
///   </summary>
    
///   <param name="curPage"> 当前页码 </param>
    
///   <returns></returns>
     private    int  CheckPage( int  curPage)
    {
        
string  curpage_str  =  curPage.ToString();
        
int  FirstpageChart  =   0 ;
        
if  (curpage_str.Length  ==   1 )
        {
            
return   1 ;
        }
        
else
        {
            
string  tml  =  curpage_str.Substring( 0 , curpage_str.Length  -   1 );
            FirstpageChart 
=  Convert.ToInt32(tml);
            
/**/
            
/* 如果当前是第十页(或二十页)就会有这些情况,本来要到前十页的却到了十到二十页
             * 当取得的页码第一位的值乘十后等于当前页码,就把取得的页码第一位减一后乘十返回
             * 否则就返回取得的页码第一位的值乘十的值
             
*/
            
return  FirstpageChart  *   10   ==  curPage  ?  (curPage  -   9 ) : (FirstpageChart  *   10   +   1 );
        }
    }
    
///   <summary>
    
///  生成页面字符
    
///   </summary>
    
///   <param name="countPage"> 总页数 </param>
    
///   <param name="curPage"> 当前页 </param>
    
///   <param name="url"> 页面url地址如“xxx.aspx” </param>
    
///   <returns></returns>
     public   string  HtmlPage( int  curPage,  int  countPage,  string  url,  string  paramName)
    {
        StringBuilder htm 
=   new  StringBuilder();

        
int  lastpage  =  CheckPage(curPage);

        
int  Num  =  lastpage  +   9 ;

        
if  (Num  <=  countPage)
        {
            
for  ( int  i  =   0 ; i  <   10 ; i ++ )
            {
                htm.AppendFormat(
" {0} " , Format(lastpage  +  i, curPage, url, paramName));
            }
        }
        
else   if  (Num  >  countPage)
        {
            
int  Count  =  countPage  -  (lastpage  -   1 *   10 ;

            
for  ( int  i  =   0 ; i  <  Count; i ++ )
            {
                htm.AppendFormat(
" {0} " , Format(lastpage  +  i, curPage, url, paramName));
            }
        }
        
return  htm.ToString();
    }
    
///   <summary>
    
///  格式化页码
    
///   </summary>
    
///   <param name="i"> 页码 </param>
    
///   <param name="curPage"> 当前页 </param>
    
///   <param name="url"> 页面url地址如“xxx.aspx” </param>
    
///   <param name="paramName"> 参数名称 </param>
    
///   <returns></returns>
     protected   virtual   string  Format( int  i,  int  curPage,  string  url,  string  paramName)
    {
        
return  curPage  ==  i  ?   string .Format( " {0}&nbsp; " , i) :  string .Format( " <a href='{0}?{1}={2}'>{3}</a>&nbsp; " ,
            url, paramName, i, i);
    }

}
 

 

转载于:https://www.cnblogs.com/fengbuting/archive/2011/06/24/2088736.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值