如何从内容页面后面的代码更改母版页的背景?
时间:2020-03-05 18:37:43 来源:igfitidea点击:
我特别想从使用该母版页的内容页(C#)后面的代码中,将background-color
样式添加到母版页的<body>标签中。
我有不同的内容页面,需要根据加载的内容页面使母版页具有不同的颜色,以便母版页与内容页的主题匹配。
我有以下解决方案:
我正在寻找更多类似的东西:
Master.Attributes.Add("style", "background-color: 2e6095");
内容页面的页面加载功能内部。但是我无法使以上内容正常工作。我只需要为页面的<body>标签更改background-color
。
解决方案
回答
我相信我们正在谈论的是内容管理系统。我过去处理这种情况的方法是:
- 允许页面/内容定义额外的自定义样式表或者
- 允许页面/内容定义内联样式标签
回答
对于特殊情况,我将要做的是:
一世。将主体定义为服务器端控件
<body runat="server" id="masterpageBody">
ii。在内容aspx页面中,使用以下寄存器注册MasterPage:
<% MasterPageFile="..." %>
iii。在内容页面中,我们现在可以简单地使用
Master.FindControl("masterpageBody")
并有权使用该控件。现在,我们可以更改所需的任何属性/样式!
回答
这是我想出的:
在页面加载功能中:
HtmlGenericControl body = (HtmlGenericControl)Master.FindControl("default_body"); body.Style.Add(HtmlTextWriterStyle.BackgroundColor, "#2E6095");
在哪里
default_body = the id of the body tag.