我很生气,正在寻求帮助。我已将一些图像文件加载到我的Web服务器上的文件夹中(因此,上传它们)。我现在想要简单地显示它们,一个在另一个下面作为aspx页面。所以,我想遍历文件夹中的所有图像文件,并在页面上显示它们。
最简单的方法是一个表,然后为每个文件添加一个tr / td。
有人可以提供建议吗?这会是最好的吗?我的cs文件中的一个事件,它读取文件夹,创建并填充它?
这纯粹是为了测试页面,而不是用于制作。
答案 0 :(得分:4)
ASPX:
<asp:DataList ID="DataList1" runat="server" RepeatColumns="5" CellPadding="5">
<ItemTemplate>
<asp:Image Width="100" ID="Image1" ImageUrl='<%# Bind("Name", "~/images/{0}") %>' runat="server" />
<br />
<asp:HyperLink ID="HyperLink1" Text='<%# Bind("Name") %>' NavigateUrl='<%# Bind("Name", "~/images/{0}") %>' runat="server"/>
</ItemTemplate>
<ItemStyle BorderColor="Silver" BorderStyle="Dotted" BorderWidth="1px" HorizontalAlign="Center"
VerticalAlign="Bottom" />
</asp:DataList>
代码隐藏:
protected void Page_Load(object sender, EventArgs e)
{
ListImages();
}
private void ListImages()
{
DirectoryInfo dir = new DirectoryInfo(MapPath("~/images"));
FileInfo[] file = dir.GetFiles();
ArrayList list = new ArrayList();
foreach (FileInfo file2 in file)
{
if (file2.Extension == ".jpg" || file2.Extension == ".jpeg" || file2.Extension == ".gif")
{
list.Add(file2);
}
}
DataList1.DataSource = list;
DataList1.DataBind();
}
添加您需要的任何扩展程序!
<%@ Page Language="C#"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
private string url;
protected void Page_Load(object sender, EventArgs e)
{
url = PictureManager.MembersImagesPath + tuMember.PhotoBig;
Page.DataBind();
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Image ID="Image1" runat="server" Height="210px" Width="252px" ImageUrl="<%#url%>" />
</div>
</form>
</body>
</html>
希望这有帮助!
答案 1 :(得分:2)
对于直接的HTML方法,您可以使用:
protected void Page_Load(object sender, EventArgs e)
{
if (!this.IsPostBack)
{
const string SUBDIR = "images";
foreach (string fileName in System.IO.Directory.GetFiles(Server.MapPath(SUBDIR)))
{
var oRow = new HtmlTableRow();
var oCell = new HtmlTableCell();
var oHREF = new HtmlAnchor();
string actualFileName = System.IO.Path.GetFileName(fileName);
oHREF.HRef = Request.ApplicationPath + "//" + SUBDIR + "//" + actualFileName;
oHREF.InnerText = actualFileName;
oCell.Controls.Add(oHREF);
oRow.Cells.Add(oCell);
tblImages.Rows.Add(oRow);
}
}
}