我在asp.net中使用了Image标签,我想要从服务器上绘制动态路径,我正在使用转发器控件,而我在aspx.cs页面上的代码是
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";
}
}
但未找到图片..请检查 任何帮助应该是适当的...谢谢
答案 0 :(得分:0)
首先,您需要调试代码并尝试检查代码生成的图像类型。它生成错误的网址,这就是你无法在那里看到图像的原因。
如果您使用 http:// 类型的网址,则无需放置〜/ 符号。如果您能够访问您的文件,如
http://bindassholidays.info/Photos/HotelPhotos/" + stateid + cityid + hotelid + "/hotelid.jpeg"
然后无需添加〜/
答案 1 :(得分:0)
可能会有效
img.ImageUrl = "http://bindassholidays.info/Photos/HotelPhotos/" + stateid + cityid + hotelid + "/hotelid.jpeg";
如果你知道图像的实际路径在任何浏览器上加载它,并通过打破上面的行来比较它的路径和路径。
答案 2 :(得分:0)
您正在使用Web应用程序根运算符(〜)。然而,你再次将它与绝对路径混合在一起。
我认为它应该像
img.ImageUrl = "~/Photos/HotelPhotos/" + stateid + cityid + hotelid + ".jpeg";
图像路径显然有问题。有关ASP.NET Web项目路径的详细信息,请参阅this MSDN link
答案 3 :(得分:0)
首先,我对此几乎没有问题和答案..
<强>答案:强>
您可以使用以下函数获取相对URL,然后将您的iamge文件夹与
组合public string GetWebUrl()
{
return HttpContext.Current.Request.Url.GetLeftPart(UriPartial.Authority) + HttpRuntime.AppDomainAppVirtualPath;
}
现在只需使用以下内容:
GetWebUrl()+Photos/HotelPhotos/" + stateid+"/" + cityid +"/"+hotelid +"/"+"hotelid.jpeg";
希望这适合你