2012-08-24 2 views
4

У меня есть ASP.NET MVC 4.5, который использует некоторые css-файлы. Css ссылается на некоторые изображения.Корневой каталог в CSS в ASP.NET MVC

Файл КСС находится на этом пути:

WebSiteRoot\Content\css\services\File.CSS 

Изображение находится на этом пути:

\WebSiteRoot\Content\img\servicesbubble\image.png 

устанавливаемыми сотовыми имеет это призвание:

background:transparent url('../../img/servicesbubble/image.png') no-repeat 0px 0px; 

Когда я запускать приложение в localhost, это работает. Но когда я загружаюсь на хостинг (Appharbor), он не работает. Почему? Каков наилучший способ поиска корневого приложения?

В сервере HTTP GET пробуется на этот неправильный URL

WebSite.com/img/servicesbubble/desktop.png 

Update: Я использую рамку .NET 4.5 с названием пакетирования для слияния этих CSS с другим CSS.

+0

Не могли бы вы поделиться URL-адресом вашего сайта, размещенного на AppHarbor, чтобы мы могли посмотреть? –

+0

ссылки на файлы из файла css не должны быть проблемой, если пути не изменяются между средами. – JayC

+0

Конечно @Michal это это URL http://tulpepwebsite.apphb.com/Services Проверьте неправильные призывы на http://tulpepwebsite.apphb.com/img/servicesbubble/desktop.png и http: // tulpepwebsite. apphb.com/img/servicesbubble/uc.png –

ответ

2

Ваша проблема на самом деле идет от того, что вы Минимизация CSS-код в другой каталог, чем CSS первоначально существовал.

Подробнее: http://tulpepwebsite.apphb.com/Content/css/servicescss? v = sdm08D 5sRu2I00dA0phyVTYZ_QU8Nfp27wHtmmE0Gzk1

Так ../../ ставит вас на http://tulpepwebsite.apphb.com/Content

URLS в CSS файлах всегда относительно расположения самого CSS-файла.

+0

Я так не думаю. Это позволяет минимизация и объединение в MVC 4.5. –

+0

Содержит ли переплетение путей в мини-CSS? (уточнение) – JayC

+0

О да. Ты прав. –

2

Ваши пути к файлам CSS, похоже, меняются. Два файла CSS, которые я вижу, связанные с вашим сайтом: http://tulpepwebsite.apphb.com/Content/css/servicescss?v=sdm08D5sRu2I00dA0phyVTYZ_QU8Nfp27wHtmmE0Gzk1 и http://tulpepwebsite.apphb.com/Content/GeneralCSS?v=9kvtUcooQua0D4nQT8wZ-4_Gm6OcRd-J5SkjMxwKiyQ1. (Другой - из службы шрифтов google.) Вам нужно выяснить, почему это происходит.

Редактировать: Хорошо, я собираюсь что-то угадать. Вероятно, вы используете new ASP.NET 4.5 bundling feature. Но не имеет смысла связывать мухи CSS в разных каталогах, если вы это делаете.

+0

Я использую функцию связывания ASP.NET 4.5, и я не связываю css в разных каталогах. У меня есть смысл в сжатии и просто ваш код. –

0

Ваше местоположение CSS отличается, чем вы думаете:

WebSiteRoot\Content\css\File.CSS 

вместо

WebSiteRoot\Content\css\services\File.CSS