Aquí podría ser tu PUBLICIDAD


¿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 Bryan Denny
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 01:56
fuente por usuario Adhip Gupta


Aquí podría ser tu PUBLICIDAD


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 02:28
fuente por usuario Bryan Denny

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 01:49
fuente por usuario GateKiller