2008-12-09 151 views
32

我有一個虛擬路徑(例如:「〜/ Images/Banner.jpg」),我想讓它成爲絕對路徑(例如:「/ ApplicationRoot/Images /Banner.jpg「)。有一種方法可以做到這一點,我相信一個叫做HTTPUtility或類似名稱的類。雖然有時候我需要這種方法,但需要幾個小時的時間才能找到它。如果有人能夠發佈適當的方法來做到這一點,我將非常感激,所以我可以喜歡這一點,以便將來訪問。將虛擬路徑轉換爲ASP.NET中的實際web路徑

非常感謝。

+0

@JoelBeckham你是對的。我誤解了這個問題。 – 2011-10-27 23:08:43

回答

59
System.Web.VirtualPathUtility.ToAbsolute("yourRelativePath"); 

你去那裏:)

+0

我真的有同樣的問題,直到我做了我自己的PathHelper類爲asp.net mvc框架:p – 2008-12-09 15:44:44

+0

呵呵,又一個地方做到這一點!我想他們都在同一個地方。 – leppie 2008-12-09 15:45:18

+0

我當然希望如此:P – 2008-12-09 15:46:02

5
Control.ResolveClientUrl(url) 

Control.ResolveUrl(url) 

哪一個你需要(老實說,我不知道的區別,因爲二者似乎回到大致相同,也許有人可以照亮我:))。

13

有多種方法,在ASP.NET中提供,我們可以使用相對路徑解析爲絕對URL -

1)Request.ApplicationPath
2)System.Web.VirtualPathUtility
3)頁.ResolveUrl
4)Page.ResolveClientUrl

這裏有一個文章,解釋在ASP.NET解決路徑的各種方法之間的區別 -

Different approaches for resolving URLs in ASP.NET