<asp:DataList ID="DataList1" runat="server" RepeatColumns = "3">
<ItemTemplate>
<asp:Image ID="Image1" runat="server" ImageUrl = '<%#Eval("Url") %>' />
<br />
<%# Eval("Name") %>
</ItemTemplate>
</asp:DataList>
Here I have a folder called images in my website solution folder.
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
DataTable dt = new DataTable();
dt.Columns.AddRange(new DataColumn[2] { new DataColumn("Name"), new DataColumn("Url") });
string[] files = System.IO.Directory.GetFiles(Server.MapPath("~/images/"), "*");
foreach (string file in files)
{
dt.Rows.Add(System.IO.Path.GetFileName(file), "~/images/" + System.IO.Path.GetFileName(file));
}
DataList1.DataSource = dt;
DataList1.DataBind();
}
}