使用Asp.net将图像从本地文件夹显示到datalist

时间:2013-06-21 10:32:57

标签: c# asp.net directory

我正在将我的应用程序中的图像显示给datalist。源代码是:

<asp:DataList ID="dtlist" runat="server" RepeatColumns="4" CellPadding="5">
<ItemTemplate><asp:Image Width="100" ID="Image1" ImageUrl='<%# Bind("Name", "~/Images/{0}") %>' runat="server" />
<br /></ItemTemplate>
<ItemStyle BorderColor="Brown" BorderStyle="dotted" BorderWidth="3px" HorizontalAlign="Center"VerticalAlign="Bottom" />`
</asp:DataList>

背后的代码是

  protected void BindDataList()
{
    DirectoryInfo dir = new DirectoryInfo(MapPath("Images"));
    FileInfo[] files = dir.GetFiles();
    ArrayList listItems = new ArrayList();
    foreach (FileInfo info in files)
    {
        listItems.Add(info);
    }
    dtlist.DataSource = listItems;
    dtlist.DataBind();

}
protected void btnsave_Click(object sender, EventArgs e)
{
    string filename = Path.GetFileName(fileupload1.PostedFile.FileName);
    fileupload1.SaveAs(Server.MapPath("Images/" + filename));
    BindDataList();

}

因此我想显示从本地驱动器到数据列表的所有图像。从C:\Sales n purchases\ImagesFolder到datalist。

请任何人帮助我。提前谢谢。

1 个答案:

答案 0 :(得分:1)

请尝试使用以下代码段。

<ItemTemplate>
        <asp:Image Width="100" ID="Image1" ImageUrl='<%# String.Format("{1}\\{0}", Eval("Name"), Eval("Directory")) %>'
            runat="server" />
        <br />
        <asp:Label id="lblImageSrc" runat="server" Text='<%# String.Format("{1}\\{0}", Eval("Name"), Eval("Directory")) %>'></asp:Label>
    </ItemTemplate>