如何从文件夹中获取单个图像 [英] How to fetch single image from folder
本文介绍了如何从文件夹中获取单个图像的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我必须在按钮点击时获取单个单个图像,但所有图像都在图像控件上查看。按钮点击后,我试图在图像控制上逐个获取图像
我尝试过:
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屋!
查看全文