-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;
}