Почему мои пакеты стиля не отображаются правильно в ASP.NET MVC 4?

Итак, я новичок в ASP.NET MVC 4 (ну, я немного использовал 3).

В любом случае, в моем файле BundleConfig.cs, я пытаюсь загрузить файлы CSSssssstartssssstrap и дополнительный файл site.css.

Но отображается только файл site.css. Я подтвердил, что файлы bootstrap css действительно находятся в нужном месте (папка с контентом) и находятся в том же месте, что и site.css

bundles.Add(new StyleBundle("~/Content/css").Include(
            "~/Content/bootstrap.min.css",
            "~/Content/bootstrap-responsive.min.css",
            "~/Content/site.css"));

ИЗМЕНИТЬ

Хорошо, это не мой любимый способ, но Андрей Дрынов рекомендовал попробовать:

@import url("bootstrap.min.css")
body{background: #e8e6da;padding-top:60px;padding-bottom:40px;}
@import url("bootstrap-responsive.min.css")

Но это не работает. Я изменил site.css на выше, но теперь цвет фона фона даже не работает. Если я удалю @imports, фон будет правильным цветом.

РЕДАКТИРОВАТЬ 2

Я не понимаю, но добавляю:

bundles.IgnoreList.Clear();

В мой файл связок исправил его. Хммм. Не уверен, что понимаю. Но я смог удалить @imports из site.css.

Странно.

Ответ 1

Поведение по умолчанию для IgnoreList игнорирует любые мини-скрипты.

Вы можете либо удалить ".min" из своих имен, либо очистить IgnoreList.

Ответ 2

Просто, чтобы кто-нибудь еще знал, кто не может найти рабочее решение легко в этой длинной нити, у меня была одна и та же проблема, и я решил ее так же, как предлагалось в редакциях, найденных в нижней части фактического вопроса!

Я начал новый проект MVC4 Web Application, создал маршруты для бутстрапов в том же коде, что и выше:

bundles.Add(new StyleBundle("~/Content/css").Include(
            "~/Content/bootstrap.min.css",
            "~/Content/bootstrap-responsive.min.css",
            "~/Content/site.css"));

Но по неизвестным причинам он не загружался. Наконец я сдался и решил отправить его и нашел эту страницу.

Я попытался добавить следующее в качестве первой строки в файле BundleConfig.cs. Перекомпилировано и все началось, и теперь стили были правильно загружены.

bundles.IgnoreList.Clear();

Может быть, это помогает кому-то.

Ответ 3

Я не использую пакеты для Bootstrap (как исключение), но его миниатюрные версии, поэтому это работает для меня:

<!DOCTYPE html>
<!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7" lang="en"> <![endif]-->
<!--[if IE 7]>    <html class="no-js lt-ie9 lt-ie8" lang="en"> <![endif]-->
<!--[if IE 8]>    <html class="no-js lt-ie9" lang="en"> <![endif]-->
<!--[if gt IE 8]><!--><html class="no-js"><!--<![endif]-->
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <title>@ViewBag.Title</title>
    <link href="~/favicon.ico" rel="shortcut icon" type="image/x-icon" />
    <meta name="viewport" content="width=device-width">
    <link rel="stylesheet" href="@Url.Content("~/Content/bootstrap.min.css")">
    <style>
        body {
            padding-top: 60px;
            padding-bottom: 40px;
        }
    </style>
    <link rel="stylesheet" href="@Url.Content("~/Content/bootstrap-responsive.min.css")">
    @Styles.Render("~/Content/less")
    @Scripts.Render("~/bundles/modernizr")
</head>
<body>

Часть с встроенным стилем от http://www.initializr.com/ для верхнего NavBar, если вам это не нужно, просто удалите.

В качестве альтернативы вы можете сделать то же самое в файле styles.css:

@import url('bootstrap.min.css');

body {
    padding-top: 60px;
    padding-bottom: 40px;
}

@import url('bootstrap-responsive.min.css');

You CSS Code below

Ответ 4

Как правильно указал paul, пучки, как установлено, автоматически игнорируют файлы "min". Но игнорирование этого правила - это плохая практика, пожалуйста, обратитесь к этому ответу Bundler, не включая .min files, в лучшее решение (проверьте как первый, так и второй ответы).