Vă mulțumim pentru susținere

Cum pot modifica fundalul unei pagini de master din codul din spatele unei pagini de conținut?

I specifically want to add the style of background-color to the

tag of a master page, from the code behind (C#) of a content page that uses that master page.

Am pagini de conținut diferite care trebuie să facă ca pagina principală să aibă culori diferite în funcție de ce pagină de conținut este încărcată, astfel încât pagina principală să se potrivească cu tema paginii de conținut.

Am o soluție mai jos:


Caut ceva mai mult:

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

Inside of the page load function of the content page. But I can't get the above line to work. I only need to change the background-color for the

tag of the page.
0
adăugat editat
Aici este o soluție mai bună stackoverflow.com/questions/21476068/…
adăugat autor Academy of Programmer

3 răspunsuri

Cred că vorbești despre un sistem de gestionare a conținutului. Modul în care m-am descurcat cu această situație în trecut este fie:

  1. Permiteți unei pagini / unui conținut să definească o foaie de stil personalizată suplimentară sau
  2. Permiteți unei pagini / unui conținut să definească etichete de stil inline
0
adăugat

Cu asta am venit:

În funcția de încărcare a paginii:

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

Unde

default_body = ID-ul etichetei corporale.

0
adăugat

Ceea ce aș face pentru cazul respectiv este:

i. Definiți corpul ca un control al serverului

ii. În pagina de conținut aspx, înregistrați MasterPage cu registrul:

<% MasterPageFile="..." %>

iii. În conținutul paginii, puteți utiliza acum pur și simplu

Master.FindControl("masterpageBody")

și să aibă acces la control. Acum, puteți schimba orice proprietăți / stil care iti plac!

0
adăugat
Vă rog să clarificați Master.FindControl ("masterpageBody") și să adăugați un exemplu pentru a adăuga clasa CSS.
adăugat autor Academy of Programmer