コンテンツ ページの背後のコードからマスターページの背景を変更するにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/2209

  •  08-06-2019
  •  | 
  •  

質問

特にスタイルを追加したいのですが、 background-color<body> マスター ページのタグを、そのマスター ページを使用するコンテンツ ページの背後のコード (C#) から取得します。

さまざまなコンテンツ ページがあり、マスター ページがコンテンツ ページのテーマと一致するように、ロードされるコンテンツ ページに応じてマスター ページの色が異なるようにする必要があります。

以下に解決策があります。


私はもっ​​と似たものを探しています:

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

コンテンツページのページロード機能の内部。しかし、上記の行を機能させることができません。変更するだけで済みます background-color のために <body> ページのタグ。

役に立ちましたか?

解決

特定のケースに対して私が行うことは次のとおりです。

私。本体をサーバー側コントロールとして定義する

<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 = body タグの ID。

コンテンツ管理システムについて話していると思います。私が過去にこの状況に対処した方法は次のいずれかです。

  1. ページ/コンテンツで追加のカスタム スタイルシートを定義できるようにするか、
  2. ページ/コンテンツでインライン スタイル タグを定義できるようにする
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top