كيف يمكنني تغيير خلفية الصفحة الرئيسية من الكود الموجود خلف صفحة المحتوى؟

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">

ثانيا.في صفحة المحتوى الخاصة بك aspx، قم بتسجيل الصفحة الرئيسية بالسجل:

<% MasterPageFile="..." %>

ثالثا.في صفحة المحتوى، يمكنك الآن ببساطة استخدام

Master.FindControl("masterpageBody")

والحصول على السيطرة.الآن، يمكنك تغيير أي خصائص/نمط تريده!

نصائح أخرى

هذا هو ما خطرت لي:

في وظيفة تحميل الصفحة:

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

أين

default_body = معرف علامة الجسم.

أعتقد أنك تتحدث عن نظام إدارة المحتوى.الطريقة التي تعاملت بها مع هذا الموقف في الماضي هي إما:

  1. السماح للصفحة/المحتوى بتحديد ورقة أنماط مخصصة إضافية أو
  2. السماح للصفحة/المحتوى بتحديد علامات النمط المضمنة
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top