para - lista de codigos css
¿Cómo hacer referencia a un archivo.css en una vista de afeitar? (5)
Sé cómo establecer archivos .css en el archivo _Layout.cshtml, pero ¿qué hay de aplicar una hoja de estilo en cada vista?
Lo que pienso aquí es que, en _Layout.cshtml, tiene etiquetas <head>
con las que trabajar, pero no en una de las vistas que no son de diseño. ¿A dónde van las etiquetas <link>
?
Intenté agregar un bloque así:
@section styles{
<link rel="Stylesheet" href="@Href("~/Content/MyStyles.css")" />
}
Y un bloque correspondiente en el archivo _Layout.cshtml:
<head>
<title>@ViewBag.Title</title>
@RenderSection("styles", false);
</head>
¡Lo cual funciona! Pero no puedo evitar pensar que hay una mejor manera. ACTUALIZACIÓN: se agregó "falso" en la declaración @RenderSection
para que su vista no se dispare cuando no agrega una @section
llamada head
.
Para CSS que se reutilizan en todo el sitio, los defino en la sección <head>
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 sección Styles
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 utiliza esta página maestra, y el motor de vista ignorará felizmente el hecho de que no hay una sección de "Estilos" definida en tu opinión. Si es verdadero, la vista no se renderizará y se lanzará un error a menos que se haya definido la sección "Estilos".
Puede esta estructura en el archivo Layout.cshtml
<link href="~/YourCssFolder/YourCssStyle.css" rel="stylesheet" type="text/css" />
Utilizando
@Scripts.Render("~/scripts/myScript.js")
o
@Styles.Render("~/styles/myStylesheet.css")
podría funcionar para ti.
https://.com/a/36157950/2924015
el diseño funciona igual que una página maestra. cualquier referencia css que tenga el diseño, cualquier página secundaria tendrá.