不需要的“UserControl /”字符串自动添加到Imagein Repeater

时间:2013-09-01 08:40:32

标签: c# asp.net .net

我在Image中有一个Repeater控件,我在ImageUrl的服务器端分配ItemDataBound,但我发现它自动添加“UserControl /”文本很奇怪在我指定的ImageUrl之前。例如:

protected void rtTopSinger_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
    Image imgSinger = (Image)e.Item.FindControl("imgSinger");
    imgSinger.ImageUrl = "Admin/images/NotAvailable.jpg";
}

然后它会像这样呈现

<img id="ContentPlaceHolder1_TopSingers_rptTopSinger_imgSinger_2"
     src="UserControl/Admin/images/NotAvailable.jpg"
     alt="Image of the Singer diljit dosanjh">

为什么要添加?我怎么能避免这个?

1 个答案:

答案 0 :(得分:1)

最好像这样使用代字号,

  imgSinger.ImageUrl = "~/Admin/images/NotAvailable.jpg";

假设admin文件夹位于您的网站/应用程序的根目录

因为否则将根据用户控制位置解析相对网址。

您可以从斜杠开始,但如果您的网站设置为虚拟目录

,则无效
 imgSinger.ImageUrl = "/Admin/images/NotAvailable.jpg";