24

我特别想从使用该母版页的内容页的代码 (C#) 中将样式添加background-color到母版页的标记中。<body>

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

我在下面有一个解决方案:


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

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

内容页面的页面加载功能内部。但我无法让上述线路正常工作。我只需要更改页面background-color<body>标签。

4

3 回答 3

10

对于特定情况,我会做的是:

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

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

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

<% MasterPageFile="..." %>

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

Master.FindControl("masterpageBody")

并有权访问控件。现在,您可以更改您喜欢的任何属性/样式!

于 2008-08-05T12:56:54.220 回答
1

这就是我想出的:

在页面加载函数中:

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

在哪里

default_body = body 标签的 id。

于 2008-08-05T13:28:01.613 回答
0

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

  1. 允许页面/内容定义额外的自定义样式表或
  2. 允许页面/内容定义内联样式标签
于 2008-08-05T12:49:29.117 回答