repeater的分页

初.学net;

  1 // 连接数据库
  2   string  connectstring  =  ConfigurationManager.ConnectionStrings[ " DatabaseConnectionString " ].ConnectionString;
  3  SqlConnection Connect  =   new  SqlConnection(connectstring);
  4         Connect.Open();
  5          string  sqlstring  =   " select * from content " ;
  6         SqlDataAdapter da  =   new  SqlDataAdapter(sqlstring, Connect);
  7         DataSet ds  =   new  DataSet();
  8         da.Fill(ds,  " content " );
  9 使用pageDataSource
 10   PagedDataSource pp  =   new  PagedDataSource();
 11         pp.DataSource  =  ds.Tables[ 0 ].DefaultView;
 12         pp.AllowPaging  =   true ;
 13         pp.PageSize  =   1 ;
 14
 15 // 分页算法
 16 int  cpage;
 17 int  totalpage  =  pp.PageCount;
 18 int  currentpage  =  pp.CurrentPageIndex + 1
 19 StringBuilder strpage  =   new  StringBuilder();
 20 StringBuilder linkstring  =   new  StringBuilder( " ? " );
 21 if  (Request.QueryString[ " Page " ] !=   null )
 22         {   
 23           cpage = Convert.ToInt32(Request.QueryString["Page"]);
 24       }

 25          else
 26          { cpage = 1; }
 27        
 28         pp.CurrentPageIndex  =  cpage  -   1 ;
 29
 30
 31          if  ( ! pp.IsFirstPage) // Request.CurrentExecutionFilePath为当前的程序的文件名,直接写也可以 
 32             pre.NavigateUrl  =  Request.CurrentExecutionFilePath  +   " ?page= "   +  Convert.ToString(cpage  -   1 );
 33
 34    if  ( ! pp.IsLastPage)
 35   {    next.NavigateUrl = Request.CurrentExecutionFilePath + "?page=" + Convert.ToString(cpage + 1); }
 36
 37
 38   if  (currentpage  <   10 )
 39          {
 40            for (int i = 1; i <= 10; i++)
 41            {
 42                if (i < totalpage)
 43                {
 44                    StringBuilder stringformat = new StringBuilder("<a href=\"");
 45                    stringformat.Append(linkstring);
 46                    stringformat.Append("&page={0}\">[{0}]</a>");
 47                    if (i == currentpage)
 48                    {
 49                        stringformat = new StringBuilder(" <font color=\"#FF0000\">[{0}]</font>");
 50
 51
 52                    }

 53                    strpage.AppendFormat(stringformat.ToString(), i);
 54
 55
 56                }

 57                else
 58                {
 59                    break;
 60 
 61                }

 62                
 63            }

 64            if (totalpage > 10)
 65            {
 66               // strpage.AppendFormat("  <a href=\"{0}&page={1}\">[{1}]</a>", linkstring ,totalpage );
 67
 68            }

 69            
 70        }

 71          else   if  (currentpage  <=  (totalpage - 5 ) )
 72          {
 73            strpage.AppendFormat(" <a href=\"{0}&page=1\">[1]</a> ", linkstring.ToString());
 74            for (int i = currentpage-5 ; i <= currentpage + 5; i++)
 75            {
 76
 77                if (i <= totalpage)
 78                {
 79                    StringBuilder stringformat = new StringBuilder("<a href=\"");
 80                    stringformat.Append(linkstring);
 81                    stringformat.Append("&page={0}\">[{0}]</a>");
 82                    if (i == currentpage)
 83                    {
 84                        stringformat = new StringBuilder(" <font color=\"#FF0000\">[{0}]</font>");
 85                    }

 86                    strpage.AppendFormat(stringformat.ToString(), i);
 87                }

 88                else
 89                break
 90                }

 91
 92            }

 93            strpage.AppendFormat("<a href=\"{0}&p={1}\">[{1}]</a>", linkstring.ToString(), totalpage.ToString
 94                ());
 95
 96
 97        }

 98          else
 99          {
100            strpage.AppendFormat("<a href=\"{0}&page=1\">[1]</a>", linkstring.ToString ());
101          //for(int i=1;i<=totalpage ;i++)
102            //{
103            
104                   // StringBuilder stringformat=new StringBuilder ("<a href=\"");
105                       // stringformat.Append(linkstring);
106                        //stringformat .Append ("&page={0}\">[{0}]</a>");
107                         //if (i == currentpage)
108                         // {
109                             // stringformat = new StringBuilder("<font color=\"#FF0000\">[{0}]</font>");
110          
111                         //}
112                      // strpage.AppendFormat(stringformat.ToString(),i);
113              // }
114         
115
116            }

117         current.Text  =  strpage.ToString ();
118         Repeater1.DataSource  =  pp;
119         Repeater1.DataBind();
120
121
122      
123
124
125     }
126
127
128
129

你可能感兴趣的:(分页)