c# -如何从内容页的代码隐藏更改母版页的背景?

Translate

我特别想添加background-color<body>来自使用该母版页的内容页(C#)后面的代码中的母版页的标记。

我有不同的内容页面,需要根据加载的内容页面使母版页具有不同的颜色,以便母版页与内容页的主题匹配。

我有以下解决方案:


我正在寻找更多类似的东西:

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

内容页面的页面加载功能内部。但是我无法使以上内容正常工作。我只需要更改background-color为了<body>页面的标签。

This question and all comments follow the "Attribution Required."

所有的回答

Translate

对于特殊情况,我将要做的是:

一世。将主体定义为服务器端控件

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

ii。在您的内容aspx页面中,使用注册器注册MasterPage:

<% MasterPageFile="..." %>

iii。在内容页面中,您现在可以简单地使用

Master.FindControl("masterpageBody")

并有权使用该控件。现在,您可以更改所需的任何属性/样式!

来源
Translate

这是我想出的:

在页面加载功能中:

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

哪里

default_body =正文标签的ID。

来源
Translate

我相信您正在谈论的是内容管理系统。我过去处理这种情况的方法是:

  1. 允许页面/内容定义额外的自定义样式表或
  2. 允许页面/内容定义内联样式标签
来源