Para CSS que se reutilizan en todo el sitio, los defino en la <head>
sección de _Layout
:
<head>
<link href="@Url.Content("~/Styles/main.css")" rel="stylesheet" type="text/css" />
@RenderSection("Styles", false)
</head>
y si necesito algunos estilos específicos de vista, defino la Styles
sección en cada vista:
@section Styles {
<link href="@Url.Content("~/Styles/view_specific_style.css")" rel="stylesheet" type="text/css" />
}
Editar: es útil saber que el segundo parámetro en @RenderSection, falso, significa que la sección no es necesaria en una vista que usa esta página maestra, y el motor de vista ignorará felizmente el hecho de que no hay una sección "Estilos" definida en tu opinión Si es verdadero, la vista no se procesará y se generará un error a menos que se haya definido la sección "Estilos".
RenderSection
(sorprendentemente :), no al final del encabezado.Intenté agregar un bloque así:
Y un bloque correspondiente en el archivo _Layout.cshtml:
Que funciona! Pero no puedo evitar pensar que hay una mejor manera. ACTUALIZACIÓN: Se agregó "falso" en la
@RenderSection
declaración para que su vista no se expanda cuando descuide agregar una@section
llamadahead
.fuente
"Head"
.@RenderSection()
. Buena atrapada.Utilizando
o
podría funcionar para ti
https://stackoverflow.com/a/36157950/2924015
fuente
el diseño funciona igual que una página maestra. cualquier referencia CSS que tenga el diseño, cualquier página secundaria tendrá.
Scott Gu tiene una excelente explicación aquí
fuente
Prefiero usar el razor html helper de Client Dependency dll
fuente
Puede esta estructura en el archivo Layout.cshtml
fuente