ASP.NET MVC2: как задать пути для ссылок на изображения, с которыми связан файл CSS - PullRequest
0 голосов
/ 05 июля 2010

В нашем приложении у нас есть патчи изображений, установленные в файле CSS, как показано ниже

.HeaderShodow {
    background:url('../../App_Images/HeaderShodow.gif') repeat-x top left;
    height:5px;
}

когда мы перемещаем это приложение на сервер iss6 изображения или не отображаются

мы отправили ссылки css / image / script в файле aspx, как показано ниже

<link href="<%= Url.Content("~/App_Themes/Common.css")%>" rel="stylesheet" type="text/css" />

но как установить, когда ссылки на изображения в css файле

Спасибо

Ответы [ 2 ]

0 голосов
/ 05 июля 2010

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

так ваш каталог будет выглядеть так:

/ Содержание / site.css
/Content/Images/blah.png

это означает, что в вашем CSS-файле вы можете ссылаться на изображения как:

.myClass
{
    background-image: url('Images/blah.png');
}

и если в своем HTML вы ссылаетесь на CSS с кодом Url.Content(), вы всегда получите правильный путь.

<link href="<%: Url.Content("~/Content/site.css") %>" rel="stylesheet" type="text/css" />
0 голосов
/ 05 июля 2010

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

<!-- Notice the ~ in the href attribute which points to the root of the application -->
<link rel="stylesheet" href="<%= Url.Content("~/styles/somestyle.css") %>" type="text/css" />

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...