asp.net google样式的分页

protected   void  Pagination( int  totalCount,  int  pageSize,  int  currentPage,  string  url)
    
{
        
int count = 0, next = 0, prev = 0, startCount = 0, endCount = 0;
        
        
if (currentPage < 1)
            currentPage 
= 1;

        
if (pageSize != 0)
        
{
            count 
= totalCount / pageSize;
            count 
= ((totalCount % pageSize) != 0 ? count + 1 : count);
            count 
= (count == 0 ? 1 : count);
        }


        next 
= currentPage + 1;
        prev 
= currentPage - 1;

        startCount 
= (currentPage + 5> count ? count - 9 : currentPage - 4;//中??起始序?
        endCount = currentPage < 5 ? 10 : currentPage + 5;                   //中???止序?

        
if (startCount < 1)
        
{
            startCount 
= 1;//?置如果小于1就?序?1?始
        }

        
if (count < endCount)
        
{
            endCount 
= count;//大于???,那么就要?其控制在???之?
        }


        Panel1.Controls.Add(
new LiteralControl("共&nbsp;" + count + "&nbsp;?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"));
        
if (currentPage > 1)
        
{
            
//pageStr += "<asp:LinkButton ID='ltnFirst' runat='server' PostBackUrl='"+url+"currentPage=1' OnClick='btnPage_Click'>首?</asp:LinkButton>&nbsp;&nbsp;";
            
//pageStr += "<asp:LinkButton ID='ltnPrev' runat='server' PostBackUrl='" + url + "currentPage="+prev+"' OnClick='btnPage_Click'>上一?</asp:LinkButton>";

            LinkButton ltnFirst 
= new LinkButton();
            ltnFirst.ID 
= "ltnFirst1";
            ltnFirst.Text 
= "首?";
            ltnFirst.PostBackUrl 
= url + "currentPage=1";
            ltnFirst.Click 
+= new EventHandler(btnPage_Click);
            Panel1.Controls.Add(ltnFirst);

            LinkButton ltnPrev 
= new LinkButton();
            ltnPrev.ID 
= "ltnPrev1";
            ltnPrev.Text 
= "上一?";
            ltnPrev.PostBackUrl 
= url + "currentPage=" + prev;
            ltnPrev.Click 
+= new EventHandler(btnPage_Click);
            Panel1.Controls.Add(ltnPrev);

        }

        
else
        

            Panel1.Controls.Add(
new LiteralControl("首?&nbsp;&nbsp;上一?"));
        }


        
for (int i = startCount; i <=endCount; i++)
        
{
            
if (currentPage == i)
                Panel1.Controls.Add(
new LiteralControl("&nbsp;&nbsp;<font color='red'>" + i + "</font>"));
            
else
            
{
                
//pageStr += "&nbsp;&nbsp;<asp:LinkButton ID='btnPage"+i+"' runat='server' PostBackUrl='"+url+"currentPage="+i+"' OnClick='btnPage_Click'>"+i+"</asp:LinkButton>";
                LinkButton hlkPage = new LinkButton();
                hlkPage.ID 
= "hlkPage" + i;
                hlkPage.Text 
= i.ToString();
                hlkPage.PostBackUrl 
= url+"currentPage=" + i;
                hlkPage.Click 
+= new EventHandler(btnPage_Click);
                Panel1.Controls.Add(hlkPage);
            }

        }


        
if (currentPage != count)
        
{
            
//pageStr += "<asp:LinkButton ID='ltnNext' runat='server' PostBackUrl='" + url + "currentPage=" + next + "' OnClick='btnPage_Click'>上一?</asp:LinkButton>&nbsp;&nbsp;";
            
//pageStr += "<asp:LinkButton ID='ltnLast' runat='server' PostBackUrl='" + url + "currentPage=" + count + "' OnClick='btnPage_Click'>上一?</asp:LinkButton>";

            LinkButton ltnNext 
= new LinkButton();
            ltnNext.ID 
= "ltnNext1";
            ltnNext.Text 
= "下一?";
            ltnNext.PostBackUrl 
= url + "currentPage=" + next;
            ltnNext.Click 
+= new EventHandler(btnPage_Click);
            Panel1.Controls.Add(ltnNext);

            LinkButton ltnLast 
= new LinkButton();
            ltnLast.ID 
= "ltnLast1";
            ltnLast.Text 
= "尾?";
            ltnLast.PostBackUrl 
= url + "currentPage=" + count;
            ltnLast.Click 
+= new EventHandler(btnPage_Click);
            Panel1.Controls.Add(ltnLast);

        }

        
else
        
{
            Panel1.Controls.Add(
new LiteralControl("下一?&nbsp;&nbsp;尾?"));
        }

    }
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值