如何从内容页面的代码隐藏中更改母版页的背景?
-
08-06-2019 - |
题
我特别想添加以下样式 background-color
到 <body>
母版页的标记,来自使用该母版页的内容页的隐藏代码 (C#)。
我有不同的内容页面,需要根据加载的内容页面使母版页具有不同的颜色,以便母版页与内容页的主题相匹配。
我有一个解决方案如下:
我正在寻找更像是的东西:
Master.Attributes.Add("style", "background-color: 2e6095");
内容页的页面加载函数里面。但我无法让上面的线路工作。我只需要改变 background-color
为了 <body>
页面的标签。
解决方案
对于特定情况我会做的是:
我。将 body 定义为服务器端控件
<body runat="server" id="masterpageBody">
二.在您的内容 aspx 页面中,使用寄存器注册 MasterPage:
<% MasterPageFile="..." %>
三.在内容页面中,您现在可以简单地使用
Master.FindControl("masterpageBody")
并有权访问控制。现在,您可以更改您喜欢的任何属性/样式!
其他提示
这就是我想出的:
在页面加载函数中:
HtmlGenericControl body = (HtmlGenericControl)Master.FindControl("default_body");
body.Style.Add(HtmlTextWriterStyle.BackgroundColor, "#2E6095");
在哪里
default_body = body 标签的 id。
我相信您正在谈论内容管理系统。我过去处理这种情况的方法是:
- 允许页面/内容定义额外的自定义样式表或
- 允许页面/内容定义内联样式标签
不隶属于 StackOverflow