【问题标题】:How can I change the background of a masterpage from the code behind of a content page?如何从内容页面后面的代码更改母版页的背景?
【发布时间】:2010-09-05 08:34:34
【问题描述】:

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

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

我有以下解决方案:


我正在寻找类似的东西:

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

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

【问题讨论】:

标签: c# asp.net .net master-pages


【解决方案1】:

我会针对特定情况做的是:

我。将 body 定义为服务器端控件

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

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

<% MasterPageFile="..." %>

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

Master.FindControl("masterpageBody")

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

【讨论】:

  • 您是否介意澄清一下 Master.FindControl("masterpageBody") 并添加一些示例以添加 css 类。
【解决方案2】:

这是我想出的:

在页面加载函数中:

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

在哪里

default_body = body 标签的 id。

【讨论】:

    【解决方案3】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-09-30
      • 1970-01-01
      • 1970-01-01
      • 2021-11-29
      • 1970-01-01
      • 2014-02-23
      • 1970-01-01
      相关资源
      最近更新 更多