Как я могу изменить фон главной страницы из кода за страницей контента? - PullRequest
19 голосов
/ 05 августа 2008

Я специально хочу добавить стиль background-color к тегу <body> главной страницы из кода (C #) страницы содержимого, которая использует эту главную страницу.

У меня есть разные страницы содержимого, для которых главная страница должна иметь разные цвета в зависимости от того, какая страница содержимого загружена, чтобы главная страница соответствовала теме страницы содержимого.

У меня есть решение ниже:


Я ищу что-то похожее на:

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

Внутри функции загрузки страницы содержимого страницы. Но я не могу заставить вышеуказанную линию работать. Мне нужно только изменить background-color для тега <body> страницы.

Ответы [ 3 ]

9 голосов
/ 05 августа 2008

Что бы я сделал для конкретного случая:

я. Определить тело как серверный элемент управления

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

II. На странице содержимого aspx зарегистрируйте MasterPage с помощью регистра:

<% MasterPageFile="..." %>

III. На странице содержимого вы теперь можете просто использовать

Master.FindControl("masterpageBody")

и иметь доступ к элементу управления. Теперь вы можете изменить любые свойства / стиль, которые вам нравятся!

1 голос
/ 05 августа 2008

Вот что я придумал:

В функции загрузки страницы:

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

Где

default_body = идентификатор тега body.

0 голосов
/ 05 августа 2008

Я полагаю, вы говорите о системе управления контентом. Способ, которым я в прошлом разбирался с этой ситуацией, таков:

  1. Разрешить странице / содержимому определять дополнительную пользовательскую таблицу стилей или
  2. Разрешить странице / содержимому определять встроенные теги стиля
...