我正在编写一个显示图像的webform应用程序。目前正在使用本地服务器,代码如下所示:
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
发布于 2014-12-24 12:40:35
MapPath为您提供服务器内文件或文件夹的物理路径。为了在网页上显示你的图像,你需要使用一个网页路径,或者是绝对的或者相对于你的站点或者正在显示的页面。基本上,您只需要在代码中更改这一点:
ib.ImageUrl = file;应该是
ib.ImageUrl = "/data/" + Path.GetFileName(file);https://stackoverflow.com/questions/27636847
复制相似问题