【发布时间】:2009-11-18 16:14:28
【问题描述】:
我正在为网站制作 C# 图片库(我知道那里有很多免费的,但我想要体验)。我通过将文件存储在数组中来从网站上的目录中获取文件。
protected void Page_Load(object sender, EventArgs e)
{
string[] files = null;
files = Directory.GetFiles(Server.MapPath(@"Pictures"),"*.jpg");
然后我将创建一个 Imagebuttons 数组(我将用作缩略图),并将它们动态地添加到 Web 表单上的面板中。但是,图像按钮已正确添加到表单上,但图片显示小方形/圆形/三角形符号并且无法加载实际图像。
ImageButton[] arrIbs = new ImageButton[files.Length - 1];
for (int i = 0; i < files.Length-1; i++)
{
arrIbs[i] = new ImageButton();
arrIbs[i].ID = "imgbtn" + Convert.ToString(i);
arrIbs[i].ImageUrl = Convert.ToString(files[i]);
Response.Write(Convert.ToString(files[i]) + "**--**");
arrIbs[i].Width = 160;
arrIbs[i].Height = 100;
arrIbs[i].BorderStyle = BorderStyle.Inset;
//arrIbs[i].BorderStyle = 2;
arrIbs[i].AlternateText = System.IO.Path.GetFileName(Convert.ToString(files[i]));
arrIbs[i].PostBackUrl = "default.aspx?Img=" + Convert.ToString(files[i]);
pnlThumbs.Controls.Add(arrIbs[i]);
}
}
这可能与问题相关,也可能不相关(如果不相关,则为子问题)。将 Server.MapPath() 设置为 @"~/Gallery/Pictures" (目录与站点根目录相关的位置)时,出现错误。它指出“C:/.../.../.../... 找不到” 该网站仅在我将目录设置为“图片”时才建立,这是图片所在的位置,并且“图片”与上述代码所在的“Default.aspx”位于同一文件夹中。我对 ~ (tilda) 角色从来没有太多好运气。这是文件结构问题还是 IIS 问题?
【问题讨论】: