2012-04-26 58 views
1

我想實現定製分頁,其中的頁碼顯示爲 上一頁1 2 3 4 5 ... 25 26 27 28 29 30下一頁。定製分頁asp.net

private void PopulatePager(int recordCount, int currentPage) 
{ 
    double dblPageCount = (double)((decimal)recordCount/decimal.Parse(ddlPerPage.SelectedValue)); 
    int pageCount = (int)Math.Ceiling(dblPageCount); 
    recdcnt = pageCount; 
    List<ListItem> pages = new List<ListItem>(); 
    if (pageCount > 0) 
    { 
     ListItem lp = new ListItem("Previous", "1", currentPage > 1); 
     lp.Attributes.Add("class", "pages previous"); 
     pages.Add(lp); 
     //pages.Add(new ListItem("First", "1", currentPage > 1)); 
     for (int i = 1; i <= pageCount; i++) 
     { 
      // pages.Add(new ListItem(i.ToString(), i.ToString(), i != currentPage)); 
      ListItem li = new ListItem(i.ToString(), i.ToString(), i != currentPage); 
      li.Attributes.Add("class", "pages"); 


      pages.Add(li); 
     } 
     ListItem ll = new ListItem("Next", pageCount.ToString(), currentPage < pageCount); 
     ll.Attributes.Add("class", "pages next"); 
     pages.Add(ll); 
     //pages.Add(new ListItem("Last", pageCount.ToString(), currentPage < pageCount)); 
    } 
    rptPager.DataSource = pages; 
    rptPager.DataBind(); 
} 

rptPager是中繼器。

這將顯示輸出作爲 上一頁1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30接着 但我想它要被顯示as Prev 1 2 3 4 5 ... 25 26 27 28 29 30 Next。

感謝,

回答

0

編寫邏輯顯示,包括當前頁和最後5個頁碼

for (int i = 1; i <= pageCount; i++) 
    { 
     if ((i > currentPage - 5 && i <= currentPage) || (i > pageCount - 5)) 
     { 
      // pages.Add(new ListItem(i.ToString(), i.ToString(), i != currentPage)); 
      ListItem li = new ListItem(i.ToString(), i.ToString(), i != currentPage); 
      li.Attributes.Add("class", "pages"); 

      pages.Add(li); 
     } 
     else if (((ListItem)pages[pages.Count - 1]).Text != "...") 
     { 
      ListItem li = new ListItem("...",String.Empty); 
      li.Attributes.Add("class", "pages"); 
      pages.Add(li); 
     } 
    } 
+0

我試圖實現你的邏輯,但預期它不工作只是前5頁碼。我希望在點擊5鏈接時應該加載下5個頁面等等 – asifa 2012-04-26 11:28:28

+0

那麼你必須再次調用頁面變化事件時填充頁面頁面 – 2012-04-26 11:30:32

+0

我按照預期的方式獲取頁面,但是如何將新頁面隱藏起來添加到頁面列表 – asifa 2012-04-27 05:49:54