コンテンツ ページの背後のコードからマスターページの背景を変更するにはどうすればよいですか?
-
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。
コンテンツ管理システムについて話していると思います。私が過去にこの状況に対処した方法は次のいずれかです。
- ページ/コンテンツで追加のカスタム スタイルシートを定義できるようにするか、
- ページ/コンテンツでインライン スタイル タグを定義できるようにする
所属していません StackOverflow