2010-01-22 63 views
3

假设我有一个资源位于~/Resources/R1.png 此资源的相对URL将因当前地址而异。获取相对于当前地址的路径的最佳方式是什么?

例如:
如果我在www.foo.com/A/B/C/D.aspxwww.foo.com/A是根路径,包括虚拟目录,然后相对于~/Resources/R1.png当前地址的路径是../../../Resources/R1.png

我怎样才能得到这个相对路径?

编辑:

我想我可以在一个网页,而不是服务器路径使用网络路径。

+0

我在匆匆离开办公室,只是给出这个想法,你怎么能做到这一点,但你是对的。 – 2010-01-24 15:30:30

回答

2

RESOLVEURL( “〜/资源/ R1.png”)

在哪里 '〜' 来表示应用程序的根目录中当前页面/控件位于。

或者,如果资源是外部当前应用程序,但虚拟目录层次结构中仍然发现,你可以使用RESOLVEURL(“/资源/ R1.png”)

+0

好吧,它不会转换为../../xx格式。而是转换成浏览器可以解释的/ xx格式。 – 2010-01-23 05:29:54

+0

如果您需要,可以使用ResolveClientUrl(“〜/ Resources/R1.png”)获取../../xxx表单。 – 2010-01-25 09:20:48

1
string path = Request.ApplicationPath + "/Resources/R1.png"; 
+0

这相当于ResolveUrl,也解决了我的问题。 – 2010-01-23 05:30:38

0

获取虚拟路径:

Request.Path 
相关问题