0

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

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">

为什么要添加它?我怎样才能避免这种情况?

4

1 回答 1

1

最好像这样使用波浪号,

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

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

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

您可以以斜杠开头,但如果您的站点设置为虚拟目录,它将不起作用

 imgSinger.ImageUrl = "/Admin/images/NotAvailable.jpg";
于 2013-09-01T08:50:38.027 回答