Я специально хочу добавить стиль background-color
к <body>
тегу главной страницы из кода (C #) страницы содержимого, которая использует эту главную страницу.
У меня есть разные страницы содержимого, для которых главная страница должна иметь разные цвета в зависимости от того, какая страница содержимого загружена, чтобы главная страница соответствовала теме страницы содержимого.
У меня есть решение ниже:
Я ищу что-то более похожее на:
Master.Attributes.Add("style", "background-color: 2e6095");
Внутри страницы функция загрузки содержимого страницы. Но я не могу заставить вышеуказанную линию работать. Мне нужно только , чтобы изменить background-color
для <body>
тега страницы.
Что бы я сделал для конкретного случая:
я. Определите тело как элемент управления на стороне сервера
<body runat="server" id="masterpageBody">
II. На странице содержимого aspx зарегистрируйте MasterPage с помощью регистра:
<% MasterPageFile="..." %>
III. На странице содержимого вы теперь можете просто использовать
Master.FindControl("masterpageBody")
и иметь доступ к контролю. Теперь вы можете изменить любые свойства / стиль, которые вам нравятся!
Я полагаю, вы говорите о системе управления контентом. Способ, которым я в прошлом разбирался с этой ситуацией, заключается в следующем:
- Разрешить странице / содержимому определять дополнительную пользовательскую таблицу стилей или
- Разрешить странице / содержимому определять встроенные теги стиля
Вот что я придумал:
В функции загрузки страницы:
HtmlGenericControl body = (HtmlGenericControl)Master.FindControl("default_body");
body.Style.Add(HtmlTextWriterStyle.BackgroundColor, "#2E6095");
где
default_body = идентификатор тега body.