簡體   English   中英

如何從內容頁面后面的代碼更改母版頁的背景?

[英]How can I change the background of a masterpage from the code behind of a content page?

我特別想要從使用該母版頁的內容頁面的代碼(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 =正文標記的id。

我相信你在談論內容管理系統。 我過去對這種情況的處理方式是:

  1. 允許頁面/內容定義額外的自定義樣式表或
  2. 允許頁面/內容定義內聯樣式標記

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM