Quote:
// Amitesh, This is the working POC.
// As i did my best for you.
// Folders: ~/Image, ~/Image/Pictures, ~/Image/Snaps
// Each one has one image file.
// Mark it as ans, if you success in what you want.
<asp:datalist id="dlImages" runat="server" repeatcolumns="3" cellpadding="3" xmlns:asp="#unknown">
Style="margin-left: 0px"
onitemdatabound="dlImages_ItemDataBound">
<itemtemplate>
<a id="imageLink">
rel="lightbox[Brussels]" runat="server">
<img id="Image1" runat="server" />
</a>
</itemtemplate>
<itemstyle bordercolor="Brown" borderstyle="dotted" borderwidth="3px" horizontalalign="Center">
VerticalAlign="Bottom" />
</itemstyle></asp:datalist>
public partial class _Default : System.Web.UI.Page
{
DataTable resultTable;
protected void Page_Load(object sender, EventArgs e)
{
resultTable = new DataTable();
resultTable.Columns.Add("ImageName");
resultTable.Columns.Add("Description");
resultTable.Columns.Add("ID");
DataRow dr = resultTable.NewRow();
dr["ID"] = 1;
dr["Description"] = "Description 1";
dr["ImageName"] = "Sharepoint-2010-powered-by-itgroove.jpg";
resultTable.Rows.Add(dr);
dr = resultTable.NewRow();
dr["ID"] = 2;
dr["Description"] = "Description 2";
dr["ImageName"] = "nature_6.jpg";
resultTable.Rows.Add(dr);
dr = resultTable.NewRow();
dr["ID"] = 3;
dr["Description"] = "Description 3";
dr["ImageName"] = "werkzoekende.png";
resultTable.Rows.Add(dr);
dlImages.DataSource = resultTable;
dlImages.DataBind();
}
protected void dlImages_ItemDataBound(object sender, DataListItemEventArgs e)
{
string filepath = GetImagePath(Convert.ToString(resultTable.Rows[e.Item.ItemIndex]["ImageName"]));
Object objImageLink = e.Item.FindControl("imageLink");
if (objImageLink != null)
{
HtmlAnchor anchor = objImageLink as HtmlAnchor;
anchor.HRef = filepath;
anchor.DataBind();
}
Object objImage = e.Item.FindControl("Image1");
if (objImage != null)
{
HtmlImage img = objImage as HtmlImage;
img.Src = filepath;
img.Width = 100;
img.Height = 100;
img.DataBind();
}
}
public string GetImagePath(string imgName)
{
string imgFolderPath = Server.MapPath("~/Images");
string[] seprator = {"Images"};
string filepath = string.Empty;
var file = Directory.GetFiles(imgFolderPath, imgName, SearchOption.AllDirectories).FirstOrDefault();
if (file == null)
{
}
else
{
filepath = "~/Images" + file.Split(seprator, StringSplitOptions.None)[1];
filepath = filepath.Replace("\\", "/");
}
return filepath;
}
}