我在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">
为什么要添加?我怎么能避免这个?
答案 0 :(得分:1)
最好像这样使用代字号,
imgSinger.ImageUrl = "~/Admin/images/NotAvailable.jpg";
假设admin文件夹位于您的网站/应用程序的根目录
因为否则将根据用户控制位置解析相对网址。
您可以从斜杠开始,但如果您的网站设置为虚拟目录
,则无效 imgSinger.ImageUrl = "/Admin/images/NotAvailable.jpg";