सामग्री पृष्ठ के पीछे कोड से मास्टरपेज की पृष्ठभूमि कैसे बदलूं?

I specifically want to add the style of background-color to the <body> tag of a master page, from the code behind (C#) of a content page that uses that master page.

मेरे पास अलग-अलग सामग्री पृष्ठ हैं जिनके लिए मास्टर पेज को अलग-अलग रंग बनाने की आवश्यकता है, इस पर निर्भर करता है कि कौन सा सामग्री पृष्ठ लोड किया गया है, ताकि मास्टर पेज सामग्री पृष्ठ की थीम से मेल खाता हो।

मेरे पास नीचे एक समाधान है:


मैं कुछ और ढूंढ रहा हूं:

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

Inside of the page load function of the content page. But I can't get the above line to work. I only need to change the background-color for the <body> tag of the page.

0
जोड़ा संपादित
विचारों: 2
यहां एक बेहतर समाधान है stackoverflow.com/questions/21476068/…
जोड़ा लेखक Academy of Programmer, स्रोत

3 उत्तर

मेरा मानना ​​है कि आप एक सामग्री प्रबंधन प्रणाली के बारे में बात कर रहे हैं। अतीत में इस स्थिति के साथ जिस तरह से मेरे पास है, वह या तो है:

  1. एक अतिरिक्त कस्टम स्टाइलशीट या
  2. को परिभाषित करने के लिए किसी पृष्ठ / सामग्री को अनुमति दें
  3. इनलाइन शैली टैग को परिभाषित करने के लिए किसी पृष्ठ / सामग्री को अनुमति दें
0
जोड़ा

मैंने ये ढूंढ निकाला:

पृष्ठ लोड फ़ंक्शन में:

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

कहा पे

default_body = बॉडी टैग की आईडी।

0
जोड़ा

विशेष मामले के लिए मैं क्या करूँगा:

मैं। शरीर को सर्वर साइड कंट्रोल के रूप में परिभाषित करें

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

ii। अपनी सामग्री एएसपीएक्स पेज में, रजिस्टर के साथ मास्टरपेज पंजीकृत करें:

<% MasterPageFile="..." %>

iii। सामग्री पृष्ठ में, अब आप बस उपयोग कर सकते हैं

Master.FindControl("masterpageBody")

और नियंत्रण तक पहुंच है। अब, आप जो भी गुण / शैली बदल सकते हैं उसे बदल सकते हैं!

0
जोड़ा
क्या आप मास्टर को स्पष्ट करना चाहते हैं। फाइंडकंट्रोल ("मास्टरपेज बॉडी") और कृपया सीएसएस क्लास जोड़ने के लिए कुछ उदाहरण जोड़ें।
जोड़ा लेखक Academy of Programmer, स्रोत