¿Cómo incluyo la referencia CSS solo en ciertas páginas en mi sitio web asp.net? Si incluyo la referencia en mi página maestra, todas las páginas del sitio web comparten la referencia CSS.¿Cómo incluir CSS en las páginas maestras?
Respuesta
Simplemente agregue un CSS ContentPlaceHolder con un valor predeterminado en él.
Básicamente, se incluirá el archivo CSS que especifique como predeterminado a menos que anule ese marcador de posición con una etiqueta <asp:Content />
desde una página secundaria.
Su página maestra debería verse más o menos así.
<head>
<asp:ContentPlaceHolder ID="Stylesheets" runat="server">
<link rel="stylesheet" href="/css/master.css" type="text/css" />
</asp:ContentPlaceHolder>
</head>
Luego, desde cualquiera de las páginas que utilizan esa página maestra, simplemente puede anular que con una hoja de estilo diferente.
On (ejemplo) AboutUs.aspx
<asp:Content ID="Content1" ContentPlaceHolderID="Stylesheets" runat="server">
<link rel="stylesheet" href="/css/form.css" type="text/css" />
</asp:Content>
Puede usar más de una página maestra en su sitio.
También puede usar páginas maestras anidadas. El nivel superior puede tener la estructura general del sitio, y luego una página maestra anidada por el Maestro para cada una de sus diferentes áreas.
Cuando hace clic derecho en su proyecto y selecciona Agregar, elige la opción WebContentForm, en lugar de WebForm. Luego puede seleccionar la página maestra apropiada.
En sus páginas maestras anidadas, establece el MasterPageFile igual a su página maestra de nivel superior.
Editar Cuando se combina con el enfoque de Marko @ que podría tener el siguiente ...
La ventaja aquí es que todas las sustituciones solamente tienen que ser escrita una vez.
nivel superior MasterPage:
<head>
<asp:ContentPlaceHolder ID="Stylesheets" runat="server">
<link rel="stylesheet" href="/css/default.css" type="text/css" />
</asp:ContentPlaceHolder>
</head>
anidada MasterPage sin anulación
<%@ Page Language="C#" MasterPageFile="~/Site.master"%>
//don't reference the Stylesheets ContentPlaceHolder and the default is rendered
anidada MasterPage Uno con override.css
<%@ Page Language="C#" MasterPageFile="~/Site.master"%>
<asp:Content ID="Content1" ContentPlaceHolderID="Stylesheets" runat="server">
<link rel="stylesheet" href="/css/override.css" type="text/css" />
</asp:Content>
anidada MasterPage Dos con secondOverride.css
<%@ Page Language="C#" MasterPageFile="~/Site.master"%>
<asp:Content ID="Content1" ContentPlaceHolderID="Stylesheets" runat="server">
<link rel="stylesheet" href="/css/secondOverride.css" type="text/css" />
</asp:Content>
Luego, simplemente configure la página maestra apropiada en cualquiera de sus formularios web.
is'nt Hay alguna forma de simplemente incluir la referencia CSS en mi página de la cual hereda la página maestra? –
Sí, mira la respuesta de Marko. Una combinación de los dos enfoques podría funcionar perfectamente. –
Referencia útil de Microsoft en páginas maestras anidadas: https://msdn.microsoft.com/en-us/library/x2b3ktt7%28v=vs.140%29.aspx – Roberto
En mi situación, he utilizado la misma masterpage desde diferentes ubicaciones en la solución. Y puesto que el prefijo (tilde) ~ en la referencia a mis archivos CSS, he añadido un response.write a la referencia de este modo:
<%= ResolveUrl("~/css/myStyle.css") %>
gracias, esto funcionó para mí, pero ¿sabes que usar <% = ResolveUrl ("~/xxx")%> tiene alguna desventaja? – curiousBoy
- 1. asignando ViewData a las páginas maestras anidadas
- 2. ASP.NET MVC Páginas maestras
- 3. Páginas maestras anidadas y .FindControl
- 4. ¿ColdFusion tiene una respuesta para las páginas maestras de ASP.NET?
- 5. Páginas maestras anidadas de MVC
- 6. ¿Cómo usar JQuery con páginas maestras?
- 7. Gridview Encabezado Congelar no funciona en las páginas maestras
- 8. ¿Hay páginas maestras anidadas en ASP.NET MVC?
- 9. ¿Las páginas maestras son el camino a seguir?
- 10. Encontrar controles dentro de las páginas maestras anidadas
- 11. usando métodos web con páginas maestras
- 12. Administrador de scripts Ajax y páginas maestras
- 13. SDL Tridion UI Uso .Net páginas maestras
- 14. jQuery en una aplicación ASP.net MVC utilizando páginas maestras
- 15. Base URL en ASP.net Páginas maestras con directorios virtuales
- 16. Accediendo al marcador de posición de contenido de abuelos en las páginas maestras
- 17. ASP.NET MVC páginas maestras anidadas, heredad de contenido
- 18. Implementación de la funcionalidad de páginas maestras. PHP
- 19. CakePHP: ¿incluye CSS basado en páginas específicas?
- 20. Puede una página de heredar múltiples páginas maestras? (ASP.NET)
- 21. Incluir archivos .css en asp.net
- 22. ¿Alguna manera de evitar que las páginas maestras cambien los ID de los elementos?
- 23. Cómo minificar las páginas aspx
- 24. Páginas maestras de ASP.NET: ¿cómo insertar marcas en la sección principal dentro de aspx?
- 25. ¿Cómo incluir todas las páginas ancestrales SetUp en los subwikis de FitNesse?
- 26. ¿Cómo se asigna un nombre específico a una etiqueta cuando se utilizan páginas maestras?
- 27. ¿Manera correcta de utilizar JQuery cuando se usan páginas maestras en ASP.NET?
- 28. ¿Cómo incluir un archivo CSS en Symfony 2 y Twig?
- 29. ¿Cuál es la mejor manera de compartir páginas maestras en proyectos?
- 30. ¿Cómo incluir CSS y jQuery en mi plugin de WordPress?
+1 De hecho, me gusta esta solución mejor que mi sugerencia. Lo he usado antes y es una buena opción. Sin embargo, dejaré mi respuesta, ya que alguien podría encontrarla útil. –