header.ascx 在 根目录/control 路径下,图片在 根目录/images 路径下现在我根目录下的 的文件调用header.ascx,  
二级目录下的文件也要调用 herder.ascx那么图片路径就出错了........怎么办?怎么获得应用程序根目录的相对路径? 或者怎么用其它方法解决???

解决方案 »

  1.   

    从 Request.ApplicationPath 的路径开始构造……
      

  2.   

    阿,,我也出过这个问题,,,,你试试 不路径写成  ../images 这样,,,,看看可以不
      

  3.   

    用Request.ApplicationPath感觉不大好,连应用程序根目录的文件夹名都出来了,还要截取..."~/images/图片" 要用在代码后置类才可以../images  这个不能解决我的问题
      

  4.   

    路径使用绝对路径不可以吗"/images/...."
      

  5.   

    ResolveUrl()
    用他吧
    保证你满意
    吴旗娃教我的
      

  6.   

    ResolveUrl()方法不错,看了一下,感觉与server.mappath是有点类似的,都是把路径解析为绝对路径.
    一般我用的方法,是使用相对绝对路径.比如说有一个虚拟站点ABC,要在用户控件页面里面使用图片,则写上该图片的相对绝对路径
    this.img1.ImageUrl = "/abc/image/xxx.gif";
    如此,无论你的页面被应用到任何地方,均可以正确找到图片.
    不过,要考虑到你的站点有可能并非虚拟目录,而是站点.所以我一般设置一个全局变量,在站点一开启时即探测是虚拟目录还是站点,根据不同情况得出不同结果.比如上述虚拟目录的写法在站点是即为:
    this.img1.ImageUrl = "/image/xxx.gif";
      

  7.   

    服务器控件: <asp:Image id="Image1" ruant=server ImageUrl="~/images/img1.jpg"/>
    Html控件:<img src='<%= ResolveUrl("~/images/img1.jpg")%>'>
      

  8.   

    谢谢各位.
    我用其它方法先解决了.定义了一个path变量,在不同页面分别赋值