2013-12-23 60 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"; 

希望这适合你