如何从文件夹中获取单个图像 [英] How to fetch single image from folder

查看:58
本文介绍了如何从文件夹中获取单个图像的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我必须在按钮点击时获取单个单个图像,但所有图像都在图像控件上查看。按钮点击后,我试图在图像控制上逐个获取图像



我尝试过:



I have to fetch single single images on button click but all the images are viewing on image control. I am trying to fetch image one by one on image control after button click

What I have tried:

protected void Page_Load(object sender, EventArgs e)
{
    string[] filesindirectory = Directory.GetFiles(Server.MapPath("~/Images"));
    List<String> images = new List<string>(filesindirectory.Count());

    foreach (string item in filesindirectory)
    {
        images.Add(String.Format("~/Images/{0}", System.IO.Path.GetFileName(item)));
    }

    RepeaterImages.DataSource = images;
    RepeaterImages.DataBind();
}













<asp:Repeater ID="RepeaterImages" runat="server">
    <ItemTemplate>
        <asp:Image ID="Image" runat="server" ImageUrl='<%# Container.DataItem %>' />
    </ItemTemplate>
</asp:Repeater>

推荐答案

不需要使用Repeater,你应该创建一个图像控件两个按钮就能解决问题。



No need to use Repeater for that, you shall create an image control with two buttons will do the trick.

<asp:Image ID="img"  runat="server" />
       <br />
      <asp:Button Text="Previous" ID="btnPrev" runat="server" OnClick="btnPrev_Click" />
      <asp:Button Text="Next" ID="btnNext" runat="server" OnClick="btnNext_Click" />







protected void Page_Load(object sender, EventArgs e)
       {

           if (!Page.IsPostBack)
           {
               var files = Directory.GetFiles(Server.MapPath("~/Images")).ToList();
               ViewState["Index"] = 0;
               string path = String.Format("~/Images/{0}", System.IO.Path.GetFileName( files[0]));
               img.ImageUrl = path;

           }
       }

       protected void  btnNext_Click(object sender, EventArgs e)
       {
           var files = Directory.GetFiles(Server.MapPath("~/Images")).ToList();
           int index = Convert.ToInt32(ViewState["Index"]);
           int count = files.Count;
           index++;
           if (index < count)
           {
               string path = String.Format("~/Images/{0}", System.IO.Path.GetFileName(files[index]));
               img.ImageUrl = path;
           }
           else
               index = count - 1;

           ViewState["Index"] = index;

       }

       protected void btnPrev_Click(object sender, EventArgs e)
       {
           var files = Directory.GetFiles(Server.MapPath("~/Images")).ToList();
           int index = Convert.ToInt32(ViewState["Index"]);
           int count = files.Count;
           index--;
           if (index > 0)
           {
               string path = String.Format("~/Images/{0}", System.IO.Path.GetFileName(files[index]));
               img.ImageUrl = path;
           }
           else
               index = 0;

           ViewState["Index"] = index;
       }


这篇关于如何从文件夹中获取单个图像的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆