المؤلف: Builder, Tony Patton
على الرغم من أن ASP.NET يوفر نظامًا أساسيًا قويًا، إلا أنه يجب على المطورين ألا يتجاهلوا التقنيات الناضجة مثل JavaScript. في هذا المقال توني
يشرح باتون كيفية دمج JavaScript مع عناصر تحكم ASP.NET في تطوير الويب.
على الرغم من أن منصات تطوير الويب توفر المرونة والعديد من الميزات، إلا أنك غالبًا ما تريد أو تحتاج إلى الاعتماد على التقنيات الموجودة لإكمال مهمة ضرورية. ومن الأمثلة الجيدة على ذلك ASP.NET، الذي يوفر منصة تطوير قوية، ولكن في نفس الوقت تقنيات ناضجة مثل JavaScript ولا ينبغي تجاهلها أيضًا، وفي هذه المقالة، سأشرح لك كيفية توصيل تعليمات JavaScript البرمجية بعناصر تحكم ASP.NET.
الطريقة التقليدية
عادةً، عندما يتطلب تطبيق ويب نافذة منبثقة أو نافذة تأكيد أو وظائف أخرى من جانب العميل، يمكنك إنشاء أساليب JavaScript الضرورية واستدعائها عند الحاجة. على سبيل المثال، تحتوي القائمة أ على نافذة تأكيد يمكن للمستخدم استخدامها لمواصلة إرسال النموذج أو إلغائه.
بعد تحديد زر الإرسال، يتم استدعاء طريقة تأكيد الإرسال الخاصة بـ JavaScript وتسمح رسالة التأكيد هذه للمستخدم بمتابعة إرسال النموذج (حدد تأكيد) أو الإلغاء (حدد إلغاء).
تعمل التعليمات البرمجية أعلاه كما هو مخطط لها، ولكنها ليست بهذه البساطة عند العمل على منصة تطوير، مثل ASP.NET.
خيارات الاستبدال لـ ASP.NET
يدعم ASP.NET استخدام عناصر HTML مثل أزرار الإدخال ومربعات النص، ولكن هناك مجموعة كاملة من عناصر التحكم التي توفر وظائف إضافية بناءً على نموذج التطوير الخاص بـ ASP.NET.
إن إرفاق JavaScript بـ ASP.NET ليس بهذه البساطة مثل أسلوب HTML/JavaScript المباشر. يوفر نموذج برمجة ASP.NET طرقًا في فئة الصفحة الأساسية لربط كتل البرامج النصية بعناصر الصفحة. يمكن استخدام الطرق التالية لإرفاق JavaScript أو دمجها في صفحة أو عنصر صفحة:
ل
RegisterClientScriptBlock: يسمح لصفحتك باحتواء كتل البرامج النصية والبرامج النصية من جانب العميل في كائن الصفحة <form
رونات=
يبدأ تشغيله بعد علامة فتح عنصر الخادم> ترسل كتلة البرنامج النصي الإخراج ككائن، لذلك يجب عليك إضافة علامتي عنصر <script>.
ل
RegisterOnSubmitStatement: يسمح لك بتعيين كتلة/طريقة البرنامج النصي لحدث OnSubmit لكائن الصفحة.
ل
RegisterStartupScript: يسمح لك بتضمين كتل البرامج النصية في الصفحة، على غرار طريقة RegisterClientScriptBlock. هذه الطريقة موجودة في كائن الصفحة <form
رونات=
تعمل كتلة البرنامج النصي قبل علامة الإغلاق لعنصر الخادم>، وتقدم الإخراج ككائن، لذلك يجب عليك إضافة علامتي عنصر <script>.
يمكن لكل طريقة قبول معلمتين: المفتاح والبرنامج النصي. المفتاح هو الاسم المخصص لكتلة البرنامج النصي. باستخدام قيمة المفتاح الفريدة هذه، يمكن للمثيلات المتعددة التي يتحكم فيها الخادم أن تطلب كتلة البرنامج النصي تشغيل البرنامج النصي مرة أخرى على دفق الإخراج؛ يحتوي البرنامج النصي للمعلمة الثانية على البرنامج النصي الفعلي الذي تم إرساله إلى العميل، والذي يمكن أن يكون رمز JavaScript الكامل أو اسم الطريقة.
يمكن استخدام هذه الأساليب في كود صفحة ASP.NET الفعلي، سواء كان VB.NET أو C# أو J# أو أي لغة أخرى. تعرض القائمة B نموذج كود ASP.NET المكتوب بلغة C#.
يتم إنشاء أساليب JavaScript عبر متغير سلسلة، ويتم تمرير قيمتها إلى أسلوب RegisterClientScriptBlock كوسيط ثانٍ، ويتم تمرير اسم الطريقة الفعلي من خلال سمات الكائن
يتم تعيين أسلوب الإضافة الخاص بالخاصية إلى عنصر تحكم زر ASP.NET، ويتم تمرير حدث JavaScript كمعلمة أولى، واسم الطريقة هو المعلمة الثانية.
علاوة على ذلك، قد تلاحظ استخدام الأسلوب IsStartupScriptRegistered، والذي يسمح لك بالتأكد من تسجيل البرنامج النصي قبل الاستمرار في استخدامه. هناك طريقتان لهذه المشكلة:
ل
IsStartupScriptRegistered: يؤكد ما إذا كان البرنامج النصي لبدء التشغيل الخاص بالعميل قد تم تسجيله على كائن الصفحة، والمعلمة الوحيدة الخاصة به هي اسم البرنامج النصي.
ل
IsClientScriptBlockRegistered: يؤكد ما إذا كان قد تم تسجيل كتلة البرنامج النصي للعميل على كائن الصفحة، والمعلمة الوحيدة الخاصة به هي اسم البرنامج النصي.
هناك طريقة أخرى لحل المشكلة وهي استخدام طريقة RegisterOnSubmitStatement لفئة الصفحة التي تكرر وظيفة القائمة B، ولكن الفرق هو أن طريقة تأكيد الإرسال متصلة بحدث الإرسال للصفحة بدلاً من حدث النقر الخاص بالصفحة. زر.
يوضح هذا المثال البسيط بوضوح كيفية تضمين كتل JavaScript النصية ونصوص JavaScript النصية في عناصر التحكم في صفحة ASP.NET. إذا كنت تستخدم عناصر تحكم ASP.NET، فيمكن أن يساعدك هذا الأسلوب في إرفاق البرامج النصية بعناصر التحكم هذه، ولكن يمكنك أيضًا استخدام طريقة التسجيل. لمركزية جافا سكريبت للمشروع. يمكنك إنشاء ملف فئة يحتوي على البرامج النصية واستخدامها في الصفحات حسب الحاجة، وبهذه الطريقة لن تحتاج إلا إلى إدارة البرامج النصية في مكان واحد واستخدامها في صفحة واحدة أو أكثر في التطبيق.
مزيج من القديم والجديد بغض النظر عن نظام التطوير الذي تستخدمه، فمن غير المرجح أن تتخلى عن استخدام JavaScript كلغة برمجة نصية من جانب العميل عدد كبير من الوظائف، وفي كثير من الأحيان تحتاج JavaScript إلى "الاقتران" بعناصر التحكم هذه. ولحسن الحظ، تحتوي فئة صفحة ASP.NET على العديد من الأساليب لدمج كتل البرامج النصية والأساليب في الصفحة وعناصر التحكم الخاصة بها.