Как я могу изменить фон главной страницы на основе кода страницы содержимого?

StackOverflow https://stackoverflow.com/questions/2209

  •  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.

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

  1. Разрешить странице / контенту определять дополнительную пользовательскую таблицу стилей или
  2. Разрешить странице / контенту определять теги встроенного стиля
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top