powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Борьба с путями
10 сообщений из 10, страница 1 из 1
Борьба с путями
    #38078746
thunder2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Моё приложение работает по под IIS. Запуск осуществляется по адресу: http://localhost/myapp.
На странице есть элемент <IMG>. Как мне правильно сфомировать путь к картинке
Путь к картинке такой:
http://localhost/myapp/Images/Catalog/image.png

Проблема в том, что на этой же странице есть ссылки типа home/index. Так вот если щелкнуть на такую ссылку, то url будет таким:
http://localhost/myapp/home/index и картинка не отображается.

Т.е. надо прописать путь чтобы при переносе приложения в другой каталог путь к картинке формировался правильно:
<img src=" http://localhost/myapp/Images/Catalog/image.png"> - для случая, когда приложение расположено в каталоге myapp;
<img src=" http://localhost/Images/Catalog/image.png"> - для случая, когда приложение расположено в корне каталогов IIS;

Понятно ли ?
Относительные пути не работают, чтобы я не пытался делать.
...
Рейтинг: 0 / 0
Борьба с путями
    #38079026
bazile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
thunder2,

в такой ситуации проще всего работать с абсолютными путями т.к. относительный путь зависит ог глубины ссылки.

Для этого в серверных элементах управления используем пути вида "~/path". Знак ~ означает корень приложения и ASP.NET автоматически заменит его на нужное значение.

В не-серверных элементах управления путь нужно будет строить вручную. Можно завести константу (или параметр конфигурации) с путем до корня (/ или /myapp в твоем примере). Или можно использовать свойство HttpRequest.ApplicationPath .
...
Рейтинг: 0 / 0
Борьба с путями
    #38079034
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bazileВ не-серверных элементах управления путь нужно будет строить вручную
Ну зачем же, можно так же резолвить.
...
Рейтинг: 0 / 0
Борьба с путями
    #38079163
bazile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУНу зачем же, можно так же резолвить.
Это тоже попадает под понятие "строить вручную" :)
...
Рейтинг: 0 / 0
Борьба с путями
    #38081159
thunder2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
bazile,

Вообщем нашел решение. Если кому интересно можете взять на вооружение.
Сделал доп. метод расширения для класса Html:
Код: c#
1.
2.
3.
4.
5.
6.
7.
public static class PathHelper
{
        public static string GetFullVirtualPath(this HtmlHelper html, string filename)
        {
            return HttpContext.Current.Request.Url.Scheme + "://" + HttpContext.Current.Request.Url.Host + ":" + HttpContext.Current.Request.Url.Port + HttpRuntime.AppDomainAppVirtualPath + "/" + filename;
        }
}


Этот код расместил в файле Global.asax.cs.
Далее, там где надо использовать этот метод (файлы представлений) в начале файла надо добавить
Код: c#
1.
<@Import Namespace="ваше пространство имён">


и где надо сформировать полный виртуальный путь к ресурсу пишем так:
Код: c#
1.
<img src='<%=Html.GetFullVirtualPath("Images/logo.png")>' alt='icon' />


в результате будет сгенерирован корректный путь до ресурса.
...
Рейтинг: 0 / 0
Борьба с путями
    #38081274
Deza
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Url.Content не?
...
Рейтинг: 0 / 0
Борьба с путями
    #38081286
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
thunder2, жесть какая-то.
...
Рейтинг: 0 / 0
Борьба с путями
    #38081314
thunder2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Deza,Url.Content не?
А это где такое есть ?
...
Рейтинг: 0 / 0
Борьба с путями
    #38081316
thunder2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
МСУ,

Может быть, зато проблем с путями больше нет. Хоть как перемещай сайт.
...
Рейтинг: 0 / 0
Борьба с путями
    #38081327
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
thunder2,
а какие проблемы могут быть с путями? то что вы написали "Относительные пути не работают, чтобы я не пытался делать"
так вы не умеете их готовить..
Это созвучно:
Гланды выдернули через ж...у - зато ангина не страшна.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Борьба с путями
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]