Temas en ASP.NET: máscaras (skins), prioridades y configuración
Resumen
El documento explica qué son los temas de ASP.NET, conjuntos de valores que dan apariencia a páginas y controles, y cómo se componen de máscaras, CSS, imágenes y otros recursos. Describe los temas globales, la prioridad entre Theme y StyleSheetTheme, y la diferencia entre máscaras predeterminadas y máscaras con nombre (SkinID). También muestra cómo aplicar temas en Web.config o en la directiva @Page y cómo deshabilitarlos.
Puntos clave
- Un tema es un conjunto de valores que da apariencia a páginas y controles, formado como mínimo por máscaras (.skin) y que puede incluir CSS, imágenes y otros recursos.
- Con la propiedad Theme, la configuración del tema tiene prioridad sobre la configuración local de la página; con StyleSheetTheme, ocurre al revés.
- Las máscaras predeterminadas se aplican automáticamente a todos los controles del mismo tipo; las máscaras con nombre solo se aplican si el control define la propiedad SkinID.
- Los temas pueden definir muchas propiedades de controles y páginas, no solo estilos CSS, e incluir gráficos, scripts y sonidos.
- Solo se puede aplicar un tema por página.
- Los temas se pueden deshabilitar con EnableTheming="false" en la directiva @Page o en un control concreto.
Temas en ASP.NET: conceptos, estructura y configuración
Temas
Aplicables a páginas individuales como atributo en la directiva @Page (Theme o StyleSheetTheme), o a todas en el archivo de configuración de la aplicación.
Temas globales
Temas globales: Es un tema que se puede aplicar a todos los sitios web en un servidor. Se almacenan en una carpeta denominada Themes, que es global al servidor web.
Prioridad en la configuración de temas
Si se establece la propiedad Theme de la página:
- Configuración del tema
- Configuración de la página local
Si se establece la propiedad StyleSheetTheme de la página:
- Configuración de la página local
- Configuración del tema
Teoría de los temas
Teoría — Temas: Un tema es un conjunto de valores que da apariencia a las páginas y controles de una o varias páginas o aplicaciones.
Los temas están formados por máscaras (como mínimo), CSS, imágenes y otros recursos.
Máscaras (skins)
Máscara: Extensión .skin. Se crean en la carpeta Themes.
- Máscara predeterminada: Se aplica automáticamente a todos los controles del mismo tipo cuando un tema se aplica a una página. No tiene atributo
SkinID. - Máscara con nombre: Es una máscara de controles con un conjunto de propiedades asociadas a un
SkinID. Estas máscaras no se aplican a menos que se establezca la propiedadSkinIDen el control.
CSS
El CSS se puede incluir en el tema y se aplica automáticamente como parte del tema.
Gráficos del tema y otros recursos
Archivos de script, sonido, imágenes u otros recursos que formen parte del tema.
Diferencias entre CSS y los temas
- Los temas pueden definir muchas propiedades de un control o de una página (no solo estilos CSS).
- Los temas pueden incluir gráficos y otros recursos (imágenes, scripts, sonidos).
- Solo se puede aplicar un tema por página.
Aplicación de temas
Aplicar un tema al sitio web (Web.config)
Para aplicar un tema a todo el sitio web se configura en el archivo Web.config.
Aplicar a página individual
Se puede establecer el tema en la directiva @Page mediante los atributos Theme o StyleSheetTheme.
Aplicar máscaras a controles
Aplicar máscaras a controles: Establecer la propiedad SkinID en el control para usar una máscara con nombre.
Deshabilitar temas de ASP.NET
Deshabilitando temas de ASP.NET
Ejemplos:
<%@ Page EnableTheming="false" %> <!-- En la directiva de la página -->
<asp:Calendar id="Calendar1" runat="server" EnableTheming="false" /> <!-- En un control -->Nota: Mantén en cuenta la prioridad entre Theme y StyleSheetTheme y usa SkinID para aplicar máscaras con nombre cuando sea necesario.
Descargar
PDF Word HTMLPreguntas frecuentes
¿Cuál es la diferencia entre las propiedades Theme y StyleSheetTheme?
Con Theme, la configuración del tema prevalece sobre la configuración local de la página. Con StyleSheetTheme, prevalece la configuración local de la página sobre la del tema.
¿Qué es una máscara con nombre en ASP.NET?
Es una máscara de controles asociada a un SkinID que solo se aplica a los controles que tienen esa propiedad SkinID establecida.
¿Cómo se deshabilitan los temas en una página o control?
Se usa EnableTheming="false" en la directiva @Page para toda la página, o en la declaración del control concreto.
Ponte a prueba
Tarjetas de repaso
Pulsa una tarjeta para ver la respuesta.
Test
Preguntas generadas con IA a partir del documento: comprueba las respuestas con el texto.