2013-02-09 2 views
0

Перед обновлением моего CSS, у меня было следующее Login.css:Невозможно достичь мои фотографии из моей CSS после перемещения CSS файлы в новую папку CSS

body 
{  
    background-image: url('./pictures/fond.png');  
    background-repeat: repeat-x; 
} 

Вот моя структура:

enter image description here

Теперь у меня есть следующие CSS:

body 
{  
    background-image: url('../pictures/fond.png');  
    background-repeat: repeat-x; 
} 

Пожалуйста, обратите внимание на двойную точку в е e url.

Вот моя новая структура:

enter image description here

Моя проблема: при публикации на моем тестовом сервере IIS, я не могу видеть мои фотографии !? На локальной машине dev (VS2012) я вижу свои фотографии.

НО Если я обновляю свой Login.css, расположенный на своем тестовом сервере IIS, и заменю свои двойные точки одной точкой, он снова работает. Это не логика, потому что (после моего обновления) Login.css теперь находится под папкой css.

Любая идея?

Спасибо.

UPDATE ----------------

Вот так я refererence мой CSS:

bundles.Add(new StyleBundle("~/Content/bundleLogin").Include(
      "~/Content/css/bootstrap.css", 
      "~/Content/css/Login.css")); 

Я создал пакет, а затем:

@Styles.Render("~/Content/bundleLogin") 

ответ

0

Держу пари, вы жёстко путь к файлу CSS в представлении, как и что:

<link href="Content/css/Login.css" rel="stylesheet" type="text/css" /> 

вместо того, чтобы делать это правильно waywhich конечно является использование помощника URL:

<link href="@Url.Content("~/Content/css/Login.css")" rel="stylesheet" type="text/css" /> 

Насколько ваш файл CSS, то, все URLs, которые вы ссылаетесь там (например, изображения) всегда относительны текущее местоположение файла CSS. Поэтому, если вы правильно ссылаетесь на свой файл CSS, у вас не будет никаких проблем. Использование url('../pictures/fond.png'); является правильным относительным местоположением.


UPDATE:

О, я вижу проблему. Вы используете пакеты. Что ж, проблема с пакетами заключается в том, что так, как вы объявили имя вашего пакета, у вас нет такого же уровня вложенности папок, что и в физической структуре. Таким образом изменить ваш пакет, как это:

bundles.Add(new StyleBundle("~/Content/css/bundleLogin").Include(
     "~/Content/css/bootstrap.css", 
     "~/Content/css/Login.css")); 

, а затем:

@Styles.Render("~/Content/css/bundleLogin") 
+0

Пожалуйста, смотрите мое обновление на мой вопрос, чтобы понять, как я ссылаться на мой CSS с моей точки зрения. Благодарю. – Bronzato

+0

Теперь я вижу.Вы используете пакеты. Это проблема. Лемм обновил свой ответ. –

+0

Спасибо вам большое. – Bronzato

Смежные вопросы