2013-12-23 101 views
0

我正在使用asp.net圖片標籤,我想從PIC服務器動態路徑,我使用中繼器控制,這和我的aspx.cs頁面代碼圖像的動態路徑不工作..在ASP.Net?

protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e) 
    { 
     string hotelid = ((Label)e.Item.FindControl("lblhotelid")).Text.ToString(); 
     dr = d.FetchDataReader("select hotelname,stateid,cityid from hotelmaster"); 
     if (dr.Read()) 
     { 
      ((Label)e.Item.FindControl("lblhotelname")).Text = dr["hotelName"].ToString(); 
      string stateid, cityid; 
      stateid = dr["stateid"].ToString(); 
      cityid = dr["Cityid"].ToString(); 

      Image img = (Image)e.Item.FindControl("imgHotels"); 
      img.ImageUrl = "~/http://bindassholidays.info/Photos/HotelPhotos" + stateid + cityid + hotelid + "~\"hotelid.jpeg"; 
     } 
    } 

,但圖像沒有找到。 。請檢查 任何幫助應該是appriciable ...謝謝

+0

您應該檢查圖像路徑。 –

回答

0

首先你需要調試你的代碼,並嘗試檢查,你的代碼生成哪種類型的圖像url。它會產生錯誤的網址,這就是你無法看到圖像的原因。

如果您使用的是http:// url的類型,那麼不需要放置〜/標誌。而如果你能夠訪問您的文件中像

http://bindassholidays.info/Photos/HotelPhotos/" + stateid + cityid + hotelid + "/hotelid.jpeg" 

則無需添加〜/

0

可能,這將工作

img.ImageUrl = "http://bindassholidays.info/Photos/HotelPhotos/" + stateid + cityid + hotelid + "/hotelid.jpeg"; 

如果你知道像負載的實際路徑它可以在任何瀏覽器上通過突破上面的行來比較它的路徑和你的路徑。

0

您正在使用Web應用程序根操作符(〜)。然而,你又將它與絕對路徑混合在一起。

我相信它應該像

img.ImageUrl = "~/Photos/HotelPhotos/" + stateid + cityid + hotelid + ".jpeg"; 

顯然有點毛病圖像路徑。請參閱this MSDN link更多的信息在ASP.NET Web項目路徑

0

首先,我有這個幾個問題和答案..

  1. 爲什麼您使用的是靜態路徑?

答:

您可以使用下面的函數來獲取相對URL然後像

結合您的iamge文件夾到
public string GetWebUrl() 
{ 
    return HttpContext.Current.Request.Url.GetLeftPart(UriPartial.Authority) + HttpRuntime.AppDomainAppVirtualPath; 
} 

現在只需要使用下面:

GetWebUrl()+Photos/HotelPhotos/" + stateid+"/" + cityid +"/"+hotelid +"/"+"hotelid.jpeg"; 

希望這適合你