【发布时间】:2014-10-06 12:40:51
【问题描述】:
我正在尝试设计一个照片管理器网站应用程序,因此我需要根据文件夹名称显示文件夹中的所有照片,并且只使用 1 个 aspx 页面。 我发现许多教程可以显示文件夹中的所有照片,但我不知道如何在选择画廊时显示文件夹中的照片,例如:我在主机服务器上有一个文件夹照片,其中有 2 个子文件夹: 动物和花。当我点击动物文件夹时,所有的动物照片都会显示在网页上等等当点击花卉文件夹时,鲜花照片就会显示出来。
我的代码在这里: ASPX 页面:
<asp:DataList ID="DataList1" runat="server" RepeatColumns="5" BackColor="White"
BorderColor="#999999" BorderStyle="Solid" BorderWidth="1px" CellPadding="3" ForeColor="Black"
Width="100%">
<FooterStyle BackColor="#CCCCCC" />
<SelectedItemStyle BackColor="#000099" Font-Bold="True" ForeColor="White" />
<HeaderTemplate>
<span class="style2">Image Gallary</span>
</HeaderTemplate>
<HeaderStyle BackColor="Black" Font-Bold="True" ForeColor="White" />
<ItemTemplate>
<asp:ImageButton Width="105px" ID="Image1" runat="server" BorderStyle="Solid" ImageUrl='<%# Bind("Name", "~/[foldername]/{0}") %>'
Height="94px" />
<br />
<asp:LinkButton ID="HyperLink1" Text='<%# Bind("Name") %>' CommandArgument='<%# Bind("Name") %>' runat="server" />
</ItemTemplate>
<FooterStyle BackColor="White" ForeColor="#333333" />
<ItemStyle BorderColor="Silver" BorderStyle="Dotted" BorderWidth="1px" HorizontalAlign="Center"
VerticalAlign="Bottom" BackColor="White" ForeColor="#333333" />
</asp:DataList>
代码隐藏
private void ListImages()
{
DirectoryInfo dir = new DirectoryInfo(MapPath("~/images")); // it's will be animal if i click on animal and flower when i click on flower.
FileInfo[] file = dir.GetFiles();
ArrayList list = new ArrayList();
foreach (FileInfo file2 in file)
{
if (file2.Extension == ".jpg" || file2.Extension == ".jpeg" || file2.Extension == ".gif" || file2.Extension == ".png")
{
list.Add(file2);
}
}
DataList1.DataSource = list;
DataList1.DataBind();
}
我尝试将完整路径添加到列表中:list.add(dir.tostring()+file2.tostring()) 但我无法使用 ,错误是错误的属性名! :(
【问题讨论】: