2010-01-22 3 views
3

Предположим у меня есть ресурс, расположенный в ~/Resources/R1.png Относительный URL этого ресурса будет варьироваться в зависимости от текущего адреса.Каков наилучший способ получить путь относительно текущего адреса?

Например:
Если я в www.foo.com/A/B/C/D.aspx и www.foo.com/A является корневым путем, включая виртуальный каталог, то путь относительно текущего адреса ~/Resources/R1.png является ../../../Resources/R1.png

Как я могу получить этот относительный путь?

EDIT:

Я хочу, чтобы веб-путь, который можно использовать в веб-страницы, а не путь к серверу.

+0

Я был в спешке покинуть офис и просто дайте идею, как вы можете это сделать, но вы правы. –

ответ

2

ResolveUrl ("~/Resources/R1.png")

Где '~' используется для представления корня приложения, в котором текущая страница/элемент управления находится.

Или, если ресурс является внешней для текущего приложения, но до сих пор найти в виртуальной иерархии каталогов, вы можете использовать ResolveUrl («/ Resources/R1.png»)

+0

ну, он не конвертируется в форму ../../xx. Вместо этого конвертируется в форму/xx, которую браузеры могут интерпретировать. –

+0

Вы всегда можете использовать ResolveClientUrl ("~/Resources/R1.png"), чтобы получить форму ../../xxx, если вам это нужно. –

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

Это эквивалентно ResolveUrl, также решает мою проблему. –