Como posso mudar o fundo de uma masterpage do código por trás de uma página de conteúdo?

votos
17

Eu especificamente pretende adicionar o estilo de background-colorà <body>tag de uma página principal, a partir do código por trás (C #) de uma página de conteúdo que usa essa página mestra.

Eu tenho diferentes páginas de conteúdo que precisam para tornar a página principal tem cores diferentes dependendo de qual página de conteúdo é carregado, de modo que a página mestra corresponde o tema da página de conteúdo.

Eu tenho uma solução a seguir:


Eu estou procurando algo mais como:

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

Dentro da função de carregamento da página da página de conteúdo. Mas eu não posso chegar a linha acima para o trabalho. Eu só preciso mudar a background-colorpara a <body>tag da página.

Publicado 05/08/2008 em 13:46
fonte usuário
Em outras línguas...                            


3 respostas

votos
8

O que eu faria para o caso particular é:

Eu. Definir o corpo como um controle do lado do servidor

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

ii. Em sua página aspx conteúdo, registrar o MasterPage com o registo:

<% MasterPageFile="..." %>

iii. Na página de conteúdo, agora você pode simplesmente usar

Master.FindControl("masterpageBody")

e ter acesso ao controle. Agora, você pode mudar o que quer que propriedades / estilo que você gosta!

Respondeu 05/08/2008 em 13:56
fonte usuário

votos
1

Isto é o que eu vim com:

Na função de carregamento da página:

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

Onde

default_body = o ID da tag body.

Respondeu 05/08/2008 em 14:28
fonte usuário

votos
0

Eu acredito que você está falando de um sistema de gerenciamento de conteúdo. A maneira que eu delt com esta situação no passado, quer seja para:

  1. Permitir que uma página / conteúdo para definir um estilo personalizado extra ou
  2. Permitir que uma página / conteúdo para definir as tags de estilo inline
Respondeu 05/08/2008 em 13:49
fonte usuário

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