【发布时间】:2014-12-24 12:17:47
【问题描述】:
我正在编写一个显示图像的网络表单应用程序。当前使用本地服务器 代码如下所示:
public partial class WebForm1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
foreach (string file in Directory.GetFiles(Server.MapPath("~/Data/")))
{
ImageButton ib = new ImageButton();
ib.ImageUrl = file;
ib.Width = Unit.Pixel(100);
ib.Height = Unit.Pixel(100);
ib.Style.Add("padding", "2px");
ib.Click += imageButton_Click;
Panel1.Controls.Add(ib);
}
}
private void imageButton_Click(object sender, ImageClickEventArgs e)
{
throw new NotImplementedException();
}
}
网页代码如下所示:
src="file:///C:/folder/WebApplication1/Data/Chrysanthemum.jpg"
看起来不错。 在网页上显示面板,但图像不是,只是占位符。
请帮助我在asp.net中真的很nubi
【问题讨论】:
-
问题本身与 .NET 无关,而与文件的路径有关。服务器上的物理路径当然不是您想要使用的,您应该将图像存储在 webroot 内的任何文件夹中,并在 HTML 源代码中指向它。
-
它和我做的有什么不同?我使用了 Server.MapPath(),该文件夹在 webroot 内
-
cfr 我的回答...别担心,这是一个常见错误。不过,了解物理路径和 Web 路径之间的区别很重要。您可以保持完全相同的物理路径,但通过更改 IIS 配置,webpath 可能会完全不同。基本上,您的网站用户不应该知道或对您的文件夹层次结构服务器端有任何线索。
标签: webforms