Почему ссылки не работают при перемещении страницы за пределы корневого каталога? - PullRequest
0 голосов
/ 06 сентября 2010

Мой сайт находится в корневом каталоге, /www.lebmotor.com/web/content/.

Я использую это:

Dim appPath As String = HttpContext.Current.Request.ApplicationPath  
Dim directory As String = appPath & "/upload/" & Left(TableName, 2) & "/"  

чтобы найти путь, и он работает очень хорошо.

Но когда я создаю новую подпапку и копирую некоторые страницы из корневого каталога в подпапку, мои изображения не отображаются, поскольку путь изменился.

Это ссылка со страницы в корневом каталоге:

http://www.lebmotor.com/upload/VE/TN/6/VEListing-66-Photo1.jpg?ts=9/4/2010%201:45:17%20AM

и это ссылка со страницы в подпапке:

http://www.lebmotor.com/ar/upload/VE/TN/6/VEListing-66-Photo1.jpg?ts=9/4/2010%201:45:17%20AM

Так как мне сделать ссылку в подпапке следующим образом:

http://www.lebmotor.com/upload/VE/TN/6/VEListing-66-Photo1.jpg?ts=9/4/2010%201:45:17%20AM


Позвольте мне объяснить больше об этом. Во-первых, у меня есть два каталога, и оба они были установлены как каталоги приложений, как вы можете видеть здесь на фотографии:

Подпапка /ar является приложением и является копией оригинала в каталоге содержимого.

В ar/App_code есть класс с именем MGImages.vp, и, конечно, это копия оригинального в Content/App_code. Работа этого класса заключается в отображении фотографий из подпапки Upload.

Это код, который сохранит путь к фотографии:

Dim appPath As String = HttpContext.Current.Request.ApplicationPath  
Dim directory As String = appPath & "/upload/" & Left(TableName, 2) & "/"  
If ImageType.ToUpper = "TN" Then  
    directory += "TN/"  
ElseIf ImageType.ToUpper = "LG" Then  
    directory += "LG/"  
Else  
    directory += "OT/"  
End If  

Этот класс очень хорошо работает в каталоге Content, потому что это даст мне правильный путь:

http://www.lebmotor.com/upload/VE/TN/6/VEListing-66-Photo1.jpg?ts=9/4/2010%201:45:17%20AM

Все фотографии должны быть сохранены в папке Content/Upload для обоих каталогов Content/ar

Но в каталоге ar он даст мне неправильный путь:

http://www.lebmotor.com/ar/upload/VE/TN/6/VEListing-66-Photo1.jpg?ts=9/4/2010%201:45:17%20AM

Где цель состоит в том, чтобы проложить такой путь:

http://www.lebmotor.com/upload/VE/TN/6/VEListing-66-Photo1.jpg?ts=9/4/2010%201:45:17%20AM

Я хочу, чтобы отображались фотографии с Content/upload, а не с content/ar/upload.

1 Ответ

0 голосов
/ 06 сентября 2010

Когда вы впервые создаете путь к изображению, вы можете удалить путь ar:

Dim directory As String = appPath & "/upload/" & Left(TableName, 2) & "/" 
directory = directory.Replace("/ar/", "")
...