2010-09-27 64 views
0

我在Visual Studio的文件夹中有一个默认图像。ASP.Net中的图像URL

如何获取服务器路径以在代码中查找运行时的图像?

if (String.IsNullOrEmpty(entry.Picture)) 
{ 
    //image1.ImageUrl = @"F:\Temp\Projects\IMEICHECK\IMEICHECK\Images\Design\New\no-image.gif"; 
} 
else 
    image1.ImageUrl = entry.Picture; 
+2

您正在使用的Web应用程序的一部分的路径? – Oded 2010-09-27 15:44:40

+0

是的 - 这是图片:http://s2.imgimg.de/uploads/picb233f95fJPG.jpg – Kovu 2010-09-27 15:49:41

回答

1

它看起来好像你的图像路径不是网站或web应用程序的一部分。这不是很好的做法。

你应该把图像中的共同位置的Web应用程序/站点内,如:

/Common/Images/no-image.gif

,然后轻松地这条道路无论是存储在web.config appSettings部分,或作为如果仅在一个地方使用,则在代码隐藏中使用常量字符串。

private const string defaultNoImagePath = "/Common/Images/no-image.gif"; 

if (string.IsNullOrEmpty(entry.Picture)) 
{ 
    image1.ImageUrl = defaultNoImagePath; 
} 
else 
{ 
    image1.ImageUrl = entry.Picture; 
} 
+0

作品,谢谢。 – Kovu 2010-09-27 15:51:24

+0

没问题。很高兴工作! – 2010-09-27 15:52:30

0

Server.MapPath("~/Images/Design/New/no-image.gif")会给你的服务器上的图像的绝对路径。但是,您似乎需要将资源网址用于页面上的图像元素。在这种情况下,您可能需要使用Page.ResolveClientUrl("~/Images/Design/New/no-image.gif"),它将为您提供绝对URL,您可以将其设置为图像HTML元素的src。但更简单的是,您使用的是服务器端的Image控件,因此传递相对图片url(“〜/ Images/Design/New/no-image.gif”)就足够了。