Para CSS reutilizados em todo o site, defino-os na <head>
seção do _Layout
:
<head>
<link href="@Url.Content("~/Styles/main.css")" rel="stylesheet" type="text/css" />
@RenderSection("Styles", false)
</head>
e se eu precisar de alguns estilos específicos de vista, defino a Styles
seção em cada vista:
@section Styles {
<link href="@Url.Content("~/Styles/view_specific_style.css")" rel="stylesheet" type="text/css" />
}
Editar: é útil saber que o segundo parâmetro em @RenderSection, false, significa que a seção não é necessária em uma exibição que usa esta página mestra, e o mecanismo de exibição ignorará alegremente o fato de que não há uma seção "Estilos" definida na sua opinião. Se verdadeiro, a exibição não será renderizada e um erro será gerado, a menos que a seção "Estilos" tenha sido definida.
RenderSection
(surpreendentemente :), não no final do cabeçalho.Tentei adicionar um bloco assim:
E um bloco correspondente no arquivo _Layout.cshtml:
O que funciona! Mas não posso deixar de pensar que há uma maneira melhor. UPDATE: Adicionado "false" na
@RenderSection
instrução, para que sua visualização não se esbate quando você deixar de adicionar uma@section
chamadahead
.fonte
"Head"
.@RenderSection()
. Boa pegada.Usando
ou
poderia trabalhar para você.
https://stackoverflow.com/a/36157950/2924015
fonte
o layout funciona da mesma forma que uma página mestre. qualquer referência css que o layout tenha, qualquer página filha terá.
Scott Gu tem uma excelente explicação aqui
fonte
Prefiro usar o razor html helper da DLL de Dependência de Cliente
fonte
Você pode essa estrutura no arquivo Layout.cshtml
fonte