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