2010-01-22 61 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 
相關問題