在我的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提到的解决方案修复它
答案 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");