-
يمكنك استخدام عنصر التحكم البديل لإنشاء مناطق على صفحة ويب يمكن تحديثها ديناميكيًا ودمجها لاحقًا في الصفحات المخزنة مؤقتًا.
1. الخطة
استخدم عنصر التحكم البديل لتحديد أجزاء صفحة الويب التي تريد تخزين مخرجات المحتوى الديناميكي فيها مؤقتًا. بالنسبة للصفحات التي يتم فيها تخزين معظم المحتوى مؤقتًا، يوفر عنصر التحكم الاستبدال حلاً مبسطًا للتخزين المؤقت الجزئي للصفحة. يمكنك تخزين مخرجات الصفحة بأكملها مؤقتًا، ثم استخدام عنصر التحكم البديل لتحديد أجزاء الصفحة التي لم يتم تخزينها مؤقتًا. يتم تنفيذ منطقة ذاكرة التخزين المؤقت مرة واحدة فقط وسيتم قراءتها من ذاكرة التخزين المؤقت حتى تنتهي صلاحية إدخال ذاكرة التخزين المؤقت أو يتم مسحها. يتم تنفيذ المناطق الديناميكية في كل مرة يتم فيها طلب الصفحة. يعمل نموذج التخزين المؤقت هذا على تبسيط عملية الترميز لصفحات الويب التي يكون محتواها ثابتًا في الغالب لأنه لا يتعين عليك تغليف هذا المحتوى الثابت في عنصر تحكم مستخدم الويب لوضعه في ذاكرة التخزين المؤقت. على سبيل المثال، يعد نموذج التخزين المؤقت هذا مفيدًا لصفحات الويب التي تحتوي على محتوى ثابت (مثل القصص الإخبارية) وعنصر تحكم AdRotator الذي يعرض الإعلانات. لا تتغير القصص الإخبارية كثيرًا، مما يعني إمكانية تخزينها مؤقتًا. قد ترغب في عرض إعلان جديد في كل مرة يطلب فيها المستخدم الصفحة. يدعم عنصر التحكم AdRotator مباشرةً الاستبدال بعد التخزين المؤقت، والذي يعرض إعلانًا جديدًا عند كل إعادة نشر لصفحة الويب بغض النظر عما إذا كانت صفحة الويب مخزنة مؤقتًا أم لا.
2. الخلفية
عندما تقوم بتخزين صفحة ويب ASP.NET مؤقتًا، بشكل افتراضي، يتم تخزين كافة المخرجات من الصفحة مؤقتًا. عند الطلب الأول، سيتم تشغيل الصفحة وسيتم تخزين مخرجاتها مؤقتًا. بالنسبة للطلبات اللاحقة، سيتم ذلك من خلال التخزين المؤقت ولن يتم تشغيل التعليمات البرمجية الموجودة على تلك الصفحة.
في بعض الحالات، قد لا ترغب في تخزين صفحة ويب ASP.NET في ذاكرة التخزين المؤقت فحسب، بل قد ترغب أيضًا في تحديث أجزاء محددة من الصفحة في كل مرة يتم فيها طلب الصفحة. على سبيل المثال، قد ترغب في تخزين جزء كبير من الصفحة مؤقتًا، ولكنك تحتاج إلى تحديث المعلومات الحساسة للغاية للوقت على الصفحة ديناميكيًا.
يمكنك استخدام عنصر التحكم البديل لإدراج محتوى ديناميكي في الصفحات المخزنة مؤقتًا. لا يعرض عنصر التحكم الاستبدال أي علامات. لذلك، تحتاج إلى ربط عنصر التحكم بطريقة موجودة في صفحة الويب أو عنصر تحكم المستخدم الأصل. تحتاج إلى إنشاء طرق ثابتة تقوم بإرجاع المعلومات المراد إدراجها في صفحة الويب. يجب أن تستوفي الأساليب التي تستدعيها ضوابط الاستبدال المعايير التالية:
· يجب أن تكون الطريقة ثابتة (مشتركة في Visual Basic).
· يجب قبول المعلمات من النوع HttpContext.
· يجب إرجاع قيمة من النوع سلسلة.
ليس لعنصر التحكم الاستبدال إمكانية الوصول إلى عناصر التحكم الأخرى الموجودة على صفحة الويب، مما يعني أنه لا يمكنك فحص أو تغيير قيم عناصر التحكم الأخرى. ومع ذلك، يمكن للتعليمة البرمجية الوصول إلى سياق الصفحة الحالية باستخدام المعلمات التي تم تمريرها إليها.
عند تشغيل الصفحة، يستدعي عنصر التحكم الاستبدال هذا الأسلوب ثم يستبدل عناصر التحكم الاستبدال الموجودة على الصفحة بالقيمة المرجعة من الأسلوب.
مثال التعليمات البرمجية
يوضح المثال التالي كيفية استخدام عنصر التحكم البديل لإنشاء محتوى قابل للتحديث ديناميكيًا على صفحة مخبأة. تقوم التعليمات البرمجية الموجودة في حدث التحميل الخاص بالصفحة بتحديث عنصر تحكم التسمية بالوقت الحالي. نظرًا لأنه تم تعيين مدة ذاكرة التخزين المؤقت للصفحة على 60 ثانية، فإن نص عنصر تحكم التسمية لا يتغير، حتى إذا تم طلب الصفحة عدة مرات خلال فترة 60 ثانية. يستدعي عنصر التحكم الاستبدال الموجود على الصفحة الأسلوب الثابت GetTime، الذي يقوم بإرجاع الوقت الحالي كسلسلة. في كل مرة يتم فيها تحديث صفحة الويب، يتم تحديث القيمة التي يمثلها عنصر التحكم الاستبدال.
<%@ لغة الصفحة = "C#" %>
<%@ OutputCache Duration=60 VaryByParam="None" %>
باطلة Page_Load ()
{
Label1.Text = DateTime.Now.ToString();
}
سلسلة GetTime العامة الثابتة (سياق HttpContext)
{
إرجاع DateTime.Now.ToString();
}
<أتش تي أم أل>
<الجسم>
<معرف النموذج = "form1" runat = "الخادم">
<ديف>
<ص>
ص>
<ص>
المعرف = "الاستبدال1" اسم الأسلوب = "GetTime" /> ص> <ص> ص>
النموذج>
الجسم>