В проекте .NET MVC4
как работает @Styles.Render
?
Я имею в виду, в @Styles.Render("~/Content/css")
, какой файл он вызывает?
В моей папке Content
у меня нет файла или папки с именем "css".
В проекте .NET MVC4
как работает @Styles.Render
?
Я имею в виду, в @Styles.Render("~/Content/css")
, какой файл он вызывает?
В моей папке Content
у меня нет файла или папки с именем "css".
Он вызывает файлы, включенные в этот конкретный пакет, который объявлен внутри класса BundleConfig
в папке App_Start
.
В этом конкретном случае вызов @Styles.Render("~/Content/css")
вызывает "~/Content/site.css".
bundles.Add(new StyleBundle("~/Content/css").Include("~/Content/site.css"));
Следите за чувствительностью к регистру. Если у вас есть файл
/Content/bootstrap.css
и вы перенаправляете в свой Bundle.config на
.INCLUDE( "~/Содержание/Bootstrap.css" )
он не загрузит css.
src="@url.content("~/Folderpath/*.css")"
должен отображать стили
Как определено в App_start.BundleConfig, он просто вызывает
bundles.Add(new StyleBundle("~/Content/css").Include("~/Content/site.css"));
Ничего не происходит, даже если вы удалите этот раздел.
Polo Я не буду использовать Bundles в MVC по нескольким причинам. Это не работает в вашем случае, потому что вам нужно настроить собственный класс BundleConfig в папке Apps_Start. Это не имеет смысла, когда вы можете просто добавить стиль в голову своего html, например:
<link rel="stylesheet" href="~/Content/bootstrap.css" />
<link rel="stylesheet" href="~/Content/bootstrap.theme.css" />
Вы также можете добавить их в Layout.cshtml или частичный класс, который вызывается из всех ваших представлений и попадает на каждую страницу. Если ваши стили изменяются, вы можете легко изменить имя и путь, не перекомпилируя.
Добавление жестко закодированных ссылок на CSS в разрыве классов с целью разделения пользовательского интерфейса и дизайна на модель приложения. Вы также не хотите, чтобы жестко закодированные пути в стиле листа управлялись в С#, потому что вы больше не можете создавать "скины" или отдельные модели стилей для разных устройств, тем и т.д. Так:
<link rel="stylesheet" href="~/UI/Skins/skin1/base.css" />
<link rel="stylesheet" href="~/UI/Skins/skin2/base.css" />
Используя эту систему и Razor, вы можете теперь отключить Path Skin из базы данных или пользовательских настроек и изменить весь дизайн своего сайта, просто изменяя путь динамически.
Вся цель CSS 15 лет назад состояла в том, чтобы разработать как пользовательские, так и управляемые приложениями таблицы стилей "скины" для сайтов, чтобы вы могли отключить внешний вид пользовательского интерфейса отдельно от приложения и пересортировать контент, не зависящий от структура данных... например, версия для печати, мобильная версия, аудио версия, raw xml и т.д.
Перейдя теперь к этой "старомодной", жестко закодированной системе путей с использованием классов С#, жестких стилей, таких как Bootstrap, и объединяя темы сайтов с кодом приложения, мы снова обратились к тому, как были созданы веб-сайты 1998.