في تطوير ASP، يمكنك أحيانًا استخدام أقسام كبيرة من أحكام if...else، ومع ذلك، إذا كان محتوى Response.write ديناميكيًا وتريد تسهيل قراءة التعليمات البرمجية، فيمكنك استخدام Response.End(). إنهاء تنفيذ ASP إنه مشابه لاستخدام Break
في تطوير ASP، يمكنك أحيانًا استخدام أقسام كبيرة من أحكام if...else، ومع ذلك، إذا كان محتوى Response.write ديناميكيًا وتريد تسهيل قراءة التعليمات البرمجية، فيمكنك استخدام Response.End(). إنهاء تنفيذ ASP وهو مشابه لاستخدام Break، على سبيل المثال:
انسخ رمز الكود كما يلي:إذا (معرف المستخدم =) أو (كلمة المرور =) إذن
Response.Write(<script lanuage=javascript>alert('اسم المستخدم أو كلمة المرور فارغة!');location.href='../default.asp';</script>)
Response.End() 'النهاية إذا تمت مقاطعتها هنا، فيما يلي عملية قراءة قاعدة البيانات إذا لم تكن فارغة، مع حذف عدد n من التعليمات البرمجية.
بهذه الطريقة، عندما يكون اسم المستخدم أو كلمة المرور الواردة فارغة، تتم كتابة معلومات المطالبة تلقائيًا، ثم يقوم Response.End() بمقاطعة البرنامج للوصول إلى if. . . دور غيره.
بالإضافة إلى ذلك، عند استخدام Response.End، يتم ذلك عندما نقوم بتصحيح أخطاء البرنامج يوميًا، مثل
لإخراج عبارة SQL المقسمة دون تنفيذ التعليمات البرمجية التالية، يمكنك القيام بذلك
انسخ رمز الكود كما يلي:sql=select * من معلومات المستخدم
استجابة. الكتابة (SQL)
استجابة. النهاية ()
rs.open sql ,conn,1,1 'لن يتم تنفيذ هذه الجملة
إذا كنت تخشى أن يكون هناك الكثير من الأماكن لإضافة Response.End() ولن يكون من السهل التعليق عليها عندما يتم إصدارها رسميًا، فيمكنك تغليفها بوظيفة، مثل التعليمة البرمجية التالية:
انسخ رمز الكود كما يلي:التصحيح الفرعي ()
الاستجابة. النهاية ()
النهاية الفرعية
يتم تعديل الكود أعلاه على النحو التالي:
انسخ رمز الكود كما يلي:sql=select * من معلومات المستخدم
استجابة. الكتابة (SQL)
تصحيح ()
rs.open sql ,conn,1,1 'لن يتم تنفيذ هذه الجملة
بهذه الطريقة، عندما يتم إصدارها رسميًا، يمكن أن يلعب التعليق على العبارات الموجودة في وظيفة تصحيح الأخطاء دورًا تصحيحيًا، ومع ذلك، هناك أيضًا مشكلة في هذا إذا كنت تستخدم عددًا كبيرًا جدًا من debug()، فقد لا يتمكن البرنامج من القيام بذلك اتبع الإرشادات أثناء تصحيح الأخطاء. في بعض الأحيان لا ترغب في مقاطعة التنفيذ في هذه الأماكن، لذلك دعونا نعيد بناء وظيفة debug()، كما يلي:
sub debug(isBreak) 'isBreak هي معلمة ذات قيمة منطقية إذا تم تعيينها على true، فسيتم مقاطعتها. وإلا، لن يتم تنفيذ معالجة المقاطعة إذا كانت isBreak ثم Response.End() endend sub
الكود عند استخدامه هو كما يلي:
انسخ رمز الكود كما يلي:sql=select * من معلومات المستخدم
استجابة. الكتابة (SQL)
التصحيح (خطأ)
rs.open sql,conn,1,1 'سيتم تنفيذ هذه الجملة rs. Close()
sql=select * من المنتج
استجابة.كتابة (SQL)
التصحيح (صحيح)
rs.open sql,conn,1,1 'لن يتم تنفيذ هذه الجملة
حسنًا، يمكن أن يلبي هذا بشكل أساسي حاجتنا للتحكم في المقاطعات، ولكنه في الواقع مجرد تحليل غير كامل للغاية. قد يكون هناك العديد من متطلبات التصحيح التي يجب تلبيتها ويلزم إجراء المزيد من إعادة البناء. في الواقع، تطوير البرنامج هو عملية إعادة هيكلة، وإعادة هيكلة، وإعادة هيكلة، وإلا فسيكون هناك الكثير من أنماط التصميم، وهي كلها تجارب لخصها أسلافهم من عملية التطوير وإعادة الهيكلة الفعلية، وهي تستحق التعلم منها.