относительный путь в таблицах стилей в областях asp.net mvc - PullRequest
6 голосов
/ 05 октября 2011

У меня есть проект с текущей структурой

My Project
  /Content
  /Controller
  /View
  /Model
  /Areas
     /Area1
        /View
        /Controller
        /Model
     /Area2
        /View
        /Controller
        /Model

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

.box-shadow
{
    -webkit-box-shadow: 0px 5px 80px #505050;
    -moz-box-shadow: 0px 5px 80px #505050;
    box-shadow: 0px 5px 80px #505050;
    behavior: url('../Content/PIE.htc');
}

Все это прекрасно работает, когда я получаю доступ к 'http://MyProject/controller/action',, но когда я захожу в область' http://root/area/controller/action' мой css-файл не может найти путь '../Content/PIE.htc'.

Я не знаю, как это исправить, поэтому мне было интересно, знает ли кто-нибудь, как это исправить.

Спасибо!

Ответы [ 2 ]

2 голосов
/ 05 октября 2011

Если во всех представлениях во всех областях используется root совместно используемый _Layout (~ / Views / Shared / _Layout.cshtml), убедитесь, что _Layout.cshtml вызывает файл css, как показано в следующем коде:

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

Я протестировал его с MVC 3, и он работает.

1 голос
/ 20 декабря 2011

На этом есть два полезных сообщения SO: css3pie в MVC, где разместить файл pie.htc? и , куда мне поместить файл PIE.htc (для того, чтобы IE работал сCSS3), когда я использую cakephp , а на сайте PIE тоже обсуждается :

IE интерпретирует URL для свойства поведения относительно источникаHTML-документ, а не относительно CSS-файла, как любое другое свойство CSS.Это делает вызов PIE-поведения неудобным, потому что URL должен быть либо:

Абсолютным от корня домена - это делает CSS не легко перемещаемым между каталогами

Относительно HTMLdocument - это делает CSS непростым для повторного использования между различными HTML-файлами.

До сих пор моя лучшая идея - иметь один каталог css, где вы поместите файл PIE.htc, и использоватьпуть к нему.Не отлично, но не ужасно.

...