2010-07-29 2 views
0

Я просто хочу разрезать пейджинг каждые 5 страниц, потому что слишком много страниц, поэтому пейджинг внизу выглядит слишком переполненным.Как разрезать пейджинг на каждые 5 страниц

 int kategoriId = Convert.ToInt32(Request.QueryString["ID"]); 

     using (HEDataContext db = new HEDataContext()) 
     { 

      var productList = (from p in db.KATEGORI_03s 
           where p.kategori_02_id == kategoriId 
           select new 
           { 
           ID= p.ID, 
           Name = p.Name,          
           Bilgi = p.Bilgi, 
           Img1 = p.Img1, 
           Img2 = p.Img2, 
           Count = db.KATEGORI_03s.Count() 
           }).Skip(pg * 9).Take(take); 


      PagedDataSource page = new PagedDataSource(); 
      page.AllowCustomPaging = true; 
      page.AllowPaging = true; 
      page.DataSource = productList; 
      page.PageSize = 9; 

      DLProductsList.DataSource = productList; 
      DLProductsList.DataBind(); 

      if (!IsPostBack) 
      { 
       CreatePagingControl(); 
      } 

     } 




    public void CreatePagingControl() 
    { 

     int totalPageCount = (CountTable()/9) + 1; 
     int ID = Convert.ToInt32(Request.QueryString["ID"]); 
     int pg = Convert.ToInt32(Request.QueryString["pg"]); 
     int kategori_01_id = Convert.ToInt32(Request.QueryString["kategori_01_id"]); 

     string lnk = ""; 

     for (int i = 0; i < (CountTable()/9) + 1; i++){ 


      if (pg == 0) 
      { 
       firstpage.Visible = false; 
       previous.Visible = false; 
      } 


      if (pg == (totalPageCount - 1)) 
      { 
       next.Visible = false; 
       lastpage.Visible = false; 
      } 


      firstpage.NavigateUrl = "Products-List.aspx?kategori_01_id=" + kategori_01_id + "&ID=" + ID + "&pg=0"; 
      previous.NavigateUrl = "Products-List.aspx?kategori_01_id=" + kategori_01_id + "&ID=" + ID + "&pg=" + (pg - 1).ToString(); 
      next.NavigateUrl = "Products-List.aspx?kategori_01_id=" + kategori_01_id + "&ID=" + ID + "&pg=" + (pg + 1).ToString(); 
      lastpage.NavigateUrl = "Products-List.aspx?kategori_01_id=" + kategori_01_id + "&ID=" + ID + "&pg=" + (totalPageCount - 1).ToString(); 


      if (i == pg) 
       lnk += "<span>" + (i + 1).ToString() + "</span>"; 
      else 
       lnk += "<a href='Products-List.aspx?kategori_01_id=" + kategori_01_id + "&ID=" + ID + "&pg=" + i.ToString() + "'>" + (i + 1).ToString() + "</a>"; 


      lnk += "&nbsp;<img src='images/paging-pipe.gif' class='pagingpipe' alt='' />&nbsp;"; 

     } 

     lblPageName.Text = lnk; 

    } 
+0

Есть ли ответы? – Bora

ответ

1

Это довольно распространенная проблема, вы можете сделать это с помощью виджета JQuery как этот ниже here

Вам просто нужно обеспечить серверную реализацию для извлечения данных, которые вы требуете.

Смежные вопросы