Абсолютный путь для img и js, исключая имя папки проекта Visual Web Dev

У меня есть эта небольшая, но раздражающая проблема в моем проекте в Visual Web Developer 2010 Express. Я разрабатываю веб-сайт с файлами .aspx, расположенными в большой структуре папок, например www.domain.com/group1/type1/somefile.aspx, корневая папка содержит «стили» (для css), «изображения» и «js " (для javascripts) папка. Сегодня я много читал о базовом теге, абсолютном и относительном пути. Наконец я понял, что «абсолютный путь» — лучший выбор для меня.

Основная проблема заключается в том, что когда я просматриваю (локально) свой сайт в браузере, абсолютные ссылки для изображений, css и js не работают, я использую src="/js/gl.jquery.js", который я считаю правильным и будет работать в Интернете.

Исходный код страницы для javascript говорит http://localhost:61700/js/gl.jquery.js, когда я переключаюсь на относительный путь script src="../../../js/gl.jquery.js" и просматриваю веб-сайт, он работает нормально, а исходный код для пути javascript говорит http://localhost:61700/ProjectName/js/gl.jquery.js (Обратите внимание, что Visual Studio добавила ProjectName в путь) Итак Я предполагаю, что, когда проект выйдет в сеть (в основном домене), он будет работать правильно, но сейчас мне нужно продолжать разработку локально без этой проблемы. Есть ли способ исправить это в Visual Web Developer? может быть, какой-то тег для файла web.config, который я могу удалить, когда подключаюсь к сети, или какое-то свойство веб-сайта?

Я знаю, что быстрое решение будет разработано с относительным путем и изменит код при подключении к сети по абсолютному пути, но я ищу какой-то более чистый метод, поскольку в качестве дополнительной информации я не выбрал базовый тег, потому что я читал, что вызывает проблемы с ссылки привязки (href=xx.html#question3), и мне нужно использовать их для некоторых больших файлов. И избегайте относительного пути, потому что возможно, что компания попросит меня переместить некоторые файлы в будущем, и я не хочу обновлять относительные пути.

Большое спасибо!


person Drakell    schedule 28.11.2012    source источник


Ответы (1)


Проблема решена! Это решение, которое я нашел благодаря блогу ScottGu.

Цитирую главное: при открытии веб-сайта и запуске проекта VWD запускает и запускает встроенный веб-сервер, используя путь виртуального приложения, который совпадает с именем корневого каталога проекта. Например: если у вас есть проект с именем «Foo», он запустится и будет работать на встроенном веб-сервере как http://localhost:1234/Foo/Default.aspx. Одним из недостатков этого является то, что трудно полностью квалифицировать такие вещи, как статические CSS и файлы изображений в вашем сайт (например: используя корневые пути, такие как /images/myphoto.jpg или /css/mycss.css). Обратите внимание, что вы можете использовать путь приложения «~» для динамических ресурсов, но статические ресурсы по-прежнему вызывают затруднения (файлы js, css, изображения). (Это была моя проблема)

Вот весь пост этого парня: Нажмите здесь

Вот основное решение:

1) Используя обозреватель решений в Visual Studio, выберите узел проекта веб-сайта (со значком «Мир»)

2) Внизу есть свойства под названием «Виртуальный путь». Измените «виртуальный путь», установив его на / для запуска в качестве корневого веб-сайта.

Вот и все, настройка / Я могу легко управлять своими файлами.

person Drakell    schedule 29.11.2012