لا يمكن استخدام عناصر التحكم العادية في منطقة الرأس لصفحة الويب، ولكنها في بعض الأحيان تكون مهمة جدًا، مثل العنوان والكلمات الرئيسية والوصف، والتي قد تختلف في كل صفحة، فكيف يمكننا ضبطها ديناميكيًا وفقًا لـ محتوى؟
الطريقة الأولى: ما يمكن لـ asp فعله، بالطبع يمكن لـ asp.net القيام به طالما أنك تكتب الصفحة بأكملها باستخدام Response.Write()، فلا يوجد شيء لا يمكن تخصيصه عضو معين%" >". لكن من الواضح أن هذا لا يمكن الاستفادة من خصائص .net.
الطريقة الثانية: استخدم السمة الفريدة لـ asp.net: runat = "server"، وقم بتعيين معرف للعنوان، ثم اجعله متغير خادم، ثم يمكنك تعيين النص الخاص به. لكن HTML الذي يظهر بهذا الشكل سيحتوي أيضًا على معرف، وهو أمر غير سار حقًا عند النظر إليه.
الطريقة الثالثة: استخدم التحكم الحرفي، مكتب الاستقبال:
علاوة على ذلك، تستخدم صفحتي الكثير من عناصر تحكم المستخدم، وعناصر تحكم المستخدم هذه لها مستويات، وقد يتم تحديد عنوان الصفحة من خلال عنصر تحكم المستخدم الفرعي في عنصر تحكم المستخدم، ولم يتم إصلاح مستوى تداخل عناصر تحكم المستخدم. فكيف يتم ضبطه ديناميكيًا؟
في الصفحة الرئيسية، أنشئ فئة أساسية لتحكم المستخدم وأضف إليها طريقة عامة:
public void SetTitle(string title)
{
SetLiteralText("lt_title"، string.Format("
ctrl
!= null && ctrl.GetType().FullName != "System.Web.UI.HtmlControls.HtmlForm" );
{
lt = ctrl.FindControl(id) حرفيًا؛
إذا (لتر!= فارغة)
lt.Text = text;
}
}
بهذه الطريقة، يحتاج عنصر تحكم المستخدم الخاص بك فقط إلى الوراثة من هذه الفئة الأساسية، ثم استدعاء base.SetTitle("title") عندما تريد تعيين عنوان الصفحة، وتكتمل المهمة ببساطة. بالنسبة للعلامات الأخرى في منطقة الرأس، فإن المبدأ هو نفس مبدأ تحديد العنوان.