En un .NET MVC4
proyecto, ¿cómo @Styles.Render
funciona?
Quiero decir, ¿en @Styles.Render("~/Content/css")
qué archivo está llamando?
No tengo un archivo o una carpeta llamada "css" dentro de mi Content
carpeta.
c#
asp.net-mvc
razor
asp.net-mvc-4
Ricardo Polo Jaramillo
fuente
fuente
Respuestas:
Llama a los archivos incluidos en ese paquete particular que se declara dentro de la
BundleConfig
clase en laApp_Start
carpeta.En ese caso particular, la llamada a
@Styles.Render("~/Content/css")
está llamando "~ / Content / site.css".fuente
*.min.*
cargo de los*.*
archivos.Cuidado con la mayúsculas y minúsculas. Si tienes un archivo
y redirige en su Bundle.config a
no cargará el css.
fuente
Un poco tarde para la fiesta. Pero parece que nadie ha mencionado la
agrupación y minificación de
StyleBundle
, así que ...llamadas en
Application_Start()
:que a su vez llama
RegisterBundles()
efectivamente combina y minimizabootstrap.css
ySite.css
en un solo archivo,
Pero ..
sólo cuando
debug
se establece enfalse
enWeb.config
.De lo contrario
bootstrap.css
ySite.css
se servirá de forma individual.No incluido, ni minimizado:
fuente
src="@url.content("~/Folderpath/*.css")"
debería renderizar estilosfuente
Como se define en App_start.BundleConfig, solo está llamando
No pasa nada incluso si elimina esa sección.
fuente
Polo No usaría Bundles en MVC por múltiples razones. No funciona en su caso porque tiene que configurar una clase BundleConfig personalizada en su carpeta Apps_Start. Esto no tiene sentido cuando simplemente puede agregar un estilo en la cabeza de su html de esta manera:
También puede agregarlos a un Layout.cshtml o clase parcial que se llama desde todas sus vistas y se deja caer en cada página. Si sus estilos cambian, puede cambiar fácilmente el nombre y la ruta sin tener que volver a compilar.
Agregar enlaces codificados a CSS en una clase se rompe con el propósito de separar la interfaz de usuario y el diseño del modelo de la aplicación. Tampoco desea que las rutas de hoja de estilo codificadas se administren en c # porque ya no puede crear "máscaras" o modelos de estilo separados para diferentes dispositivos, temas, etc.
Con este sistema y Razor, ahora puede cambiar la ruta de acceso de la piel desde una base de datos o configuración de usuario y cambiar todo el diseño de su sitio web simplemente cambiando la ruta de forma dinámica.
Todo el propósito de CSS hace 15 años era desarrollar "máscaras" de hoja de estilo controladas por el usuario y controladas por la aplicación para los sitios, de modo que pudiera cambiar el aspecto y la sensación de la interfaz de usuario por separado de la aplicación y reutilizar el contenido independientemente de la estructura de datos. .... por ejemplo, una versión imprimible, móvil, audio, raw xml, etc.
Al regresar ahora a este sistema de ruta "antiguo" y codificado utilizando clases de C #, estilos rígidos como Bootstrap y fusionando los temas de los sitios con el código de la aplicación, hemos retrocedido nuevamente a cómo se crearon los sitios web en 1998.
fuente
minification
entonces? : s / :(Hice todo lo necesario para agregar paquetes a una web MVC 3 (soy nuevo en la solución existente).
Styles.Render
No funcionó para mí. Finalmente descubrí que simplemente me faltaba un colon. En una página maestra:<%: Styles.Render("~/Content/Css") %>
todavía estoy confundido acerca de por qué (en la misma página)<% Html.RenderPartial("LogOnUserControl"); %>
funciona sin los dos puntos.fuente