我正在编写一个显示图像的webform应用程序。目前正在使用localserver 代码如下所示:
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
答案 0 :(得分:1)
MapPath
为您提供服务器内文件或文件夹的物理路径。
要在网页上显示图像,您需要使用网站路径,绝对或相对于您的网站或正在显示的页面。基本上,您只需要在代码中更改它:
ib.ImageUrl = file;
应该是
ib.ImageUrl = "/data/" + Path.GetFileName(file);