Jak lze změnit pozadí na vzorové stránce z kódu zezadu na obsahové stránce?

hlasů
17

Zejména se chcete přidat styl background-colordo <body>tagu vzorové stránce, z kódu zezadu (C #) na stránky s obsahem, který používá tuto stránku předlohy.

Mám různé stránky s obsahem, které potřebují, aby se hlavní stránka má různé barvy v závislosti na obsahu načtení stránky, takže hlavní stránka zápas téma obsahového stránky.

Mám následující řešení:


Dívám se na něco jako:

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

Uvnitř funkce načtení stránky na obsahové stránce. Ale nemohu dostat výše uvedené linky do práce. Musím jen změnit background-colorna <body>značku stránky.

Položena 05/08/2008 v 13:46
zdroj uživatelem
V jiných jazycích...                            


3 odpovědí

hlasů
8

Co budu dělat pro konkrétní případ je:

i. Definovat tělo jako kontrola na straně serveru

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

ii. Ve vašem aspx stránky s obsahem, zaregistrujte Masterpage s rejstříku:

<% MasterPageFile="..." %>

iii. V obsahové stránky, nyní můžete jednoduše použít

Master.FindControl("masterpageBody")

a mají přístup k ovládání. Nyní můžete měnit za jakýchkoliv vlastností / styl, který se vám líbí!

Odpovězeno 05/08/2008 v 13:56
zdroj uživatelem

hlasů
1

To je to, co jsem přišel s:

Ve funkci načtení stránky:

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

Kde

default_body = id tagu body.

Odpovězeno 05/08/2008 v 14:28
zdroj uživatelem

hlasů
0

Věřím, že mluvíte o systém pro správu obsahu. Způsob, jakým jsem delt s touto situací v minulosti, je buď:

  1. Dovolit stránek / content definovat další vlastní stylů nebo
  2. Dovolit stránek / content definovat inline stylu značky
Odpovězeno 05/08/2008 v 13:49
zdroj uživatelem

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