¿Cómo puedo cambiar el fondo de una página maestra desde el código detrás de una página de contenido?

votos
17

Específicamente, deseo agregar el estilo de background-colorla <body>etiqueta de una página maestra, desde el código subyacente (C #) de una página de contenido que usa esa página maestra.

Tengo diferentes páginas de contenido que necesitan para hacer que la página maestra tenga diferentes colores dependiendo de qué página de contenido está cargada, de modo que la página maestra coincida con el tema de la página de contenido.

Tengo una solución a continuación:


Estoy buscando algo más como:

Master.Attributes.Add(style, background-color: 2e6095);

Dentro de la función de carga de página de la página de contenido. Pero no puedo hacer que la línea anterior funcione. Solo necesito cambiar background-colorla <body>etiqueta de la página.

Publicado el 05/08/2008 a las 13:46
fuente por usuario
En otros idiomas...                            


3 respuestas

votos
8

Lo que haría por el caso particular es:

yo. Definir el cuerpo como un control del lado del servidor

<body runat="server" id="masterpageBody">

ii. En su página aspx de contenido, registre la página maestra con el registro:

<% MasterPageFile="..." %>

iii. En la página de contenido, ahora puede simplemente usar

Master.FindControl("masterpageBody")

y tener acceso al control. ¡Ahora puede cambiar cualquier propiedad / estilo que quiera!

Respondida el 05/08/2008 a las 13:56
fuente por usuario

votos
1

Esto es lo que se me ocurrió:

En la función de carga de página:

HtmlGenericControl body = (HtmlGenericControl)Master.FindControl("default_body");
body.Style.Add(HtmlTextWriterStyle.BackgroundColor, "#2E6095");

Dónde

default_body = la identificación de la etiqueta de cuerpo.

Respondida el 05/08/2008 a las 14:28
fuente por usuario

votos
0

Creo que estás hablando de un sistema de gestión de contenido. La forma en que me he pasado con esta situación en el pasado es:

  1. Permita que una página / contenido defina una hoja de estilo personalizada adicional o
  2. Permitir que una página / contenido defina etiquetas de estilo en línea
Respondida el 05/08/2008 a las 13:49
fuente por usuario

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more