在ASP.NET的用户控件开发中,控件中图片的路径设置问题一直困拢着我。
HyperLink.ImageURL
=
"
~/images/someimage.png
"
HyperLink.NavigateURL = " ~/index.aspx " 使用后发现不总是能成功。如果是在默认站点的根目录下就行,若是在虚拟目录下就老是自动找到根目录下。原本应该是http://localhost/MyWebApp/images/someimage.gif却变成了http://localhost/images/someimage.gif。
<
%
ResolveUrl(
"
../../Images/Small_Button.gif
"
)
%>
用ResolveUrl( )确实能解决用户控件中图片路径问题。是个好办法。
以前我在自己做的时候确实出现过显示不了图片的问题,当时我是在每个目录下都复制了图片解决了问题,可是我看到这片文章后,想检验一下,当我把图片删除之后,别人页面还是可以显示,不知道怎么就好了,比较纳闷。 ResolveUrl: 我的站点名字叫 下面有一个/Images目录 放置图片的 用户控件我放置在/Controls目录下 我的一个用户控件叫 TitleSearch.ascx 加入我的标题图片是/Images下的一个叫TitleSearch.gif的图片 当这种时候你就要这样使用 ResolveUrl("../Images/TitleSearch.gif") 这样引用的话,就不会出现问题 否则当引用这个控件的页面位于“/”根目录下时,就会找不到这个图片了
这里要注意一点:当路径位于服务器端控件时,就不用ResolveUrl 这个方法只是转换客户端控件的路径, 服务器端路径服务器端可以自动转化,如果你加入ResolveUrl会发现反而画蛇添足! |
用户控件的相关路径问题:ResolveUrl(转载)
最新推荐文章于 2024-11-05 17:05:36 发布