图像未显示在Image和ImageButton中

时间:2014-10-07 12:01:44

标签: c# asp.net webforms

在我的ASP.NET Web窗体应用程序中,我尝试将UserDP文件夹中的图像设置为两个控件 - Image和ImageButton。 虽然看起来图像的URL是正确的,但两个控件上都没有显示图像。我通过浏览Chrome来测试URL。它也适用于数据URI,但不适用于位置。我在页面加载中将图像分配给控件。我对Web表单中图像URL的分配方式感到有些困惑,这就是为什么我几乎总是在试错时使用Server.MapPath。但现在我被卡住了。

根据要求,这里是后面的代码:

Image1.ImageUrl = Server.MapPath("UserDP\\14.jpeg");

编辑:对不起大家,我忘记了这个问题,因为我转到其他一些东西,现在我甚至不记得标记。无论如何,谢谢你的帮助。

这是一个ASP.NET Web窗体应用程序,我试图在其中显示图像。 我使用@JennyOReilly提到的解决方案修复它

2 个答案:

答案 0 :(得分:3)

Server.MapPath返回指定位置的物理路径。

在HTML中,您需要指定URL而不是物理路径。

示例(错误):

<img src="C:\temp\UserDP\14.jpeg" />

示例(正确):

<img src="UserDP/14.jpeg" />

解决您的问题:

删除Server.MapPath并对ImageUrl使用以下字符串:

Image1.ImageUrl = "~/UserDP/14.jpeg";

ASP.NET会自动将~替换为您应用程序的基本URL,因为Image1是服务器控件。如果您的UserDP文件夹位于应用程序目录中的第一级,那么这应该有效。

答案 1 :(得分:0)

来自MSDN:Image.ImageUrl Property

使用ImageUrl属性指定要在图像控件

中显示的图像的URL

所以你必须输入网址(绝对/完整地址或相对地址);

例如。完整地址:

Image1.ImageUrl = "http://localhost:5000/myApp/Content/Images/14.jpeg");

例如。相对地址:

Image1.ImageUrl = "Content/Images/14.jpeg");
相关问题