2015-08-25 2 views
0

Мой файл CSS находится здесь: /Areas/Car/Views/Shared/CSS/css.css. Я ссылаюсь на него в своем коде:CSS не загружается в областях

<link href="@Url.Content("/Areas/Car/Views/Shared/CSS/css.css")" rel="stylesheet" type="text/css" /> 

Однако C# выбрасывает ошибку 404 для этой ссылки.

Я попытался добавить context.MapRoute:

context.MapRoute(
    "CSS", 
    "/Areas/Car/Views/Shared/{action}/{id}", 
    new { controller = "Car", action = "CSS", id = UrlParameter.Optional } 
}; 

И затем к нему доступ с /Car/CSS/css.css (и все вариации я могу думать)

Но я все еще получаю ту же ошибку. Если, однако, я ссылаюсь на другой файл css - не на Areas - он отлично работает. Что я делаю не так?

ответ

0

Вы не должны размещать свои файлы css внутри каталога Views. По умолчанию в MVC этот каталог недоступен напрямую через url. (Вот почему вы не можете получить доступ к своим представлениям напрямую, но только через действие контроллера.)

Рассмотрите возможность использования каталога Content в корневом каталоге веб-приложения. Вы можете создать для него отдельный каталог.

В качестве альтернативы, создайте в своем регионе каталог Content, например /Areas/Car/Content/css.css.