我特别想添加以下样式 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。

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

  1. 允许页面/内容定义额外的自定义样式表或
  2. 允许页面/内容定义内联样式标签
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top