Bagaimana saya dapat mengubah latar belakang masterpage dari kode di belakang dari halaman konten?

Saya secara khusus ingin menambahkan gaya background-color ke <body> tag master halaman, dari kode di belakang (C#) dari halaman konten yang menggunakan halaman master.

Saya memiliki konten yang berbeda pages yang perlu untuk membuat halaman master memiliki warna yang berbeda tergantung pada konten halaman dimuat, sehingga halaman master sesuai dengan konten halaman's theme.

Saya memiliki solusi di bawah ini:


I'm mencari sesuatu yang lebih seperti:

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

Dalam fungsi beban halaman konten halaman. Tapi aku bisa't mendapatkan garis di atas untuk bekerja. Saya hanya perlu mengubah background-color untuk <body> tag halaman.

Mengomentari pertanyaan (1)
Larutan

Apa yang akan saya lakukan untuk kasus tertentu adalah:

aku. Tentukan tubuh sebagai server side control

ii. Dalam konten anda aspx, daftar MasterPage dengan register:

iii. Dalam Konten Halaman, anda sekarang dapat hanya menggunakan

Master.FindControl("masterpageBody")

dan memiliki akses ke kontrol. Sekarang, anda dapat mengubah apa pun sifat/gaya yang anda suka!

Komentar (1)

Ini adalah apa yang saya datang dengan:

Di halaman yang memuat fungsi:

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

Mana

default_body = id dari tag body.

Komentar (0)

Saya percaya anda berbicara tentang sebuah sistem manajemen konten. Cara saya telah delta dengan situasi ini di masa lalu adalah untuk:

  1. Memungkinkan sebuah halaman/konten dengan mendefinisikan kustom tambahan stylesheet atau
  2. Memungkinkan sebuah halaman/content untuk menentukan gaya inline tag
Komentar (0)