2010-09-27 34 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」)就足夠了。