Для CSS, которые повторно используются на всем сайте, я определяю их в <head>
разделе _Layout
:
<head>
<link href="@Url.Content("~/Styles/main.css")" rel="stylesheet" type="text/css" />
@RenderSection("Styles", false)
</head>
и если мне нужны некоторые стили, определенные для вида, я определяю Styles
раздел в каждом представлении:
@section Styles {
<link href="@Url.Content("~/Styles/view_specific_style.css")" rel="stylesheet" type="text/css" />
}
Редактировать: полезно знать, что второй параметр в @RenderSection, false, означает, что раздел не требуется в представлении, использующем эту главную страницу, и механизм представления будет блаженно игнорировать тот факт, что не определен раздел «Стили» по вашему мнению. Если true, представление не будет отображаться, и будет выдана ошибка, если не был определен раздел «Стили».
RenderSection
(удивительно :), а не в конце заголовка.Я попытался добавить блок так:
И соответствующий блок в файле _Layout.cshtml:
Который работает! Но я не могу не думать, что есть лучший способ. ОБНОВЛЕНИЕ: добавлено «ложь» в
@RenderSection
утверждении, чтобы ваше представление не всплывало, когда вы не добавляете@section
вызываемогоhead
.источник
"Head"
.@RenderSection()
. Хороший улов.С помощью
или
может работать на вас.
https://stackoverflow.com/a/36157950/2924015
источник
макет работает так же, как мастер-страница. любая ссылка CSS, которая есть у макета, будет у всех дочерних страниц.
Скотт Гу имеет отличное объяснение здесь
источник
Я предпочитаю использовать бритвенный помощник HTML из Client Dependency dll
источник
Вы можете эту структуру в файле Layout.cshtml
источник