问题描述
|
我有一个带有以下内容的页脚控件
<img src=\"images/img1.gif\" />
<img src=\"images/img1.gif\" />
然后我有两个页面像这样包含它
//Default.aspx
<%@ Register Src=\"~/Controls/Footer.ascx\" TagPrefix=\"his\" TagName=\"SiteFooter\"%>
<his:SiteFooter ID=\"SiteFooter\" runat=\"server\" />
//electronics/Default.aspx
<%@ Register Src=\"~/Controls/Footer.ascx\" TagPrefix=\"his\" TagName=\"SiteFooter\"%>
<his:SiteFooter ID=\"SiteFooter\" runat=\"server\" />
当我在electronics / Default.aspx中查看页面时,由于images目录位于一个目录中,因此图像损坏。该项目是通过虚拟路径提供的,因此网页将显示以下网址,例如
http://mysite.com/virtualpath/Default.aspx
http://mysite.com/virtualpath/electronics/Default.aspx
在PHP中,我将在那些页脚图片前加上<?=PROJECT_URL ?>
。 .net中等效的方法是什么?还是有更好的方法来修复这些破碎的相对路径,具体取决于您来自何处?
解决方法
将
img
设为aspx控件(添加runat=\"server\"
)应该可以使用~
-试试这个-
<img runat=\"server\" src=\"~/images/img1.gif\" />
<img runat=\"server\" src=\"~/images/img1.gif\" />
有关详细信息,请参见母版页中的URL。
,http://msdn.microsoft.com/zh-CN/library/ms178116.aspx:
<asp:Image runat=\"server\" id=\"Image1\" ImageUrl=\"~/images/img1.gif\" />
<asp:Image runat=\"server\" id=\"Image2\" ImageUrl=\"~/images/img2.gif\" />
要么
<img src=\"./images/img1.gif\" />
<img src=\"./images/img2.gif\" />
要么
<img src=\"/images/img1.gif\" />
<img src=\"/images/img2.gif\" />
我发现以上方法之一始终有效。
,快速解决方案是使用..向上进入一个目录,然后再进入图像文件夹:
<img src=\"../images/img1.gif\" />