vad är lblPics ? Lägger du till imagebuttons i en Label, varför inte en placeholder istället. Eftersom en imagebutton orsakar en postback, så blir dina imagebuttons endast skapade första gången sidan besöks, de måste skapas igen efter en postback då de är skapade dynamiskt.
Angående hur du ska få ut sökvägen, lägg till ett CommandArgument till varje imagebutton som är sökvägen. Sökvägen får du ut med fi.DirectoryName;, ska du ha namnet på filen också får du ut det med fi.FullName;
detta fungerar utmärkt
private void Page_Load(object sender, System.EventArgs e)
{
this.GetPictures();
}
private void GetPictures()
{
try
{
DirectoryInfo di = new DirectoryInfo(Server.MapPath("Images/"));
foreach(FileInfo fi in di.GetFiles("*.bmp"))
{
ImageButton imgbtnPic = new ImageButton();
imgbtnPic.ImageUrl = fi.FullName;
imgbtnPic.Width = Unit.Pixel(60);
imgbtnPic.Height = Unit.Pixel(60);
imgbtnPic.CommandArgument = fi.DirectoryName;
imgbtnPic.Command +=new CommandEventHandler(SaveImage);
PlaceHolder1.Controls.Add(imgbtnPic);
}
}
catch(Exception ex)
{
Literal ltrError = ex.Message.ToString();
PlaceHolder1.Controls.Add(ltrError);
}
}
public void SaveImage(object Sender, CommandEventArgs E)
{
string picturePath = E.CommandArgument.ToString();
Response.Write(picturePath+"<br>");
}