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