-1
Repeater не имеет доступа из базы данных, как установить текущий экран изображения, например, если у меня есть 20 изображений, для первой страницы я хочу отображать только 10 изображений. Пока я получаю все изображение из папки.Repeater не получить доступ из базы данных
<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>
Предыдущая страница Следующая страница
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;
}