2016-04-26 7 views
-1

Repeater nicht Zugriff von der Datenbank, wie stelle ich die aktuelle Anzeige Bild, zB wenn ich 20 Bild habe, für die erste Seite möchte ich nur 10 Bild anzeigen. Für jetzt werde ich das ganze Bild vom Ordner bekommen.Repeater nicht Zugriff von der Datenbank

<asp:Repeater ID="Repeater1" runat="server" > 

     <ItemTemplate> 

     <asp:HyperLink ID="HyperLink1" ImageUrl='<%#"Images/" + Eval("Name") %>' CssClass="img img-responsive thumbnail center-block " runat="server" width="234px" height="250px" ToolTip="check to buy" /> 

     </ItemTemplate> 

    </asp:Repeater> 
    </div> 

Vorherige Seite Nächste Seite

private void ListImages(int SelectedPage) 
    { 
     DirectoryInfo dir = new DirectoryInfo(Server.MapPath("~/Images")); 
     FileInfo[] file = dir.GetFiles(); 
     ArrayList list = new ArrayList(); 
     foreach (FileInfo info in file) 
     { 
      if (info.Extension == ".jpg" || info.Extension == ".jpeg" || info.Extension == ".gif" || info.Extension == ".png") 
      { 
       list.Add(info); 

      } 
     } 


     Repeater1.DataSource = list; 
     Repeater1.DataBind(); 

      // Step 2: Create PagedDataSource instance and set its properties 
      PagedDataSource pds = new PagedDataSource(); 
      pds.DataSource = list; 
      pds.AllowPaging = true; 
      pds.PageSize = 2; 
      if (SelectedPage > (pds.PageCount - 1)) 
      { 
      SelectedPage = pds.PageCount - 1; 
      } 
      if (SelectedPage < 0) 
      SelectedPage = 0; 
      pds.CurrentPageIndex = SelectedPage; 

      // Step 3: Bind PagedDataSource to Repeater and set LinkButtons' behavior 
      Repeater1.DataSource = pds; 
      if (pds.IsLastPage) 
       lbNext.Enabled = false; 
      else 
       lbNext.Enabled = true; 

      if (pds.IsFirstPage) 
       lbPrevious.Enabled = false; 
      else 
       lbPrevious.Enabled = true; 

    } 

Antwort

0

Sie müssen PageSize-10 setzen und DataBind() der Repeater:

// Step 2: Create PagedDataSource instance and set its properties 
      PagedDataSource pds = new PagedDataSource(); 
      pds.DataSource = list; 
      pds.AllowPaging = true; 
      pds.PageSize = 10; //Display 10 images in each page 
      if (SelectedPage > (pds.PageCount - 1)) 
      { 
       SelectedPage = pds.PageCount - 1; 
      } 
      if (SelectedPage < 0) 
       SelectedPage = 0; 
      pds.CurrentPageIndex = SelectedPage; 

      // Step 3: Bind PagedDataSource to Repeater and set LinkButtons' behavior 
      Repeater1.DataSource = pds; 
      Repeater1.DataBind(); //Like this