موصى به: ASP Tutorial: Tips for ASP لإنشاء المعلمات الزائفة قبل يومين ، كنت أعمل على إصدار في الموقع من Enterprise Search Enterprise ووجدت أن بعض المواقع يمكنها الارتباط بمحتوى الموقع. . نظرت إليها بشكل غريب ووجدت أنه مرتبط وفقًا لقواعد الترقيم التلقائية لمعرف قاعدة البيانات ~~ لقد صنعت الشيء التالي في أوقات فراغي ، على أمل أن يكون مفيدًا للجميع في برامج كتابة ASP المستقبلية! ٪ '' // إنشاء عدد عشوائي من الأرقام المحددة "// يمكنك أيضًا استخدام GUID
من أجل تجنب صعوبات الصيانة الناجمة عن خلط برامج ASP ورمز HTML ، تقدم هذه المقالة طريقة لاستخدام القوالب لفصل البرامج والصفحات لجعل البرمجة أسهل.
عند استخدام ASP لإنشاء موقع ، غالبًا ما يكون هناك موقف يتم فيه خلط رمز البرنامج ورمز HTML في ملف ASP. هناك العديد من العيوب للقيام بذلك:
1. ناهيك عن أنه عند البرمجة ، يجب عليك تصميم وترتيب تخطيط الصفحة ، مما سيؤدي إلى خلط الرمز ويصعب فهمه وغير منتظم ؛
2. عندما تحتاج إلى تغيير مظهر الصفحة ، لا تحتاج فقط إلى تغيير جزء HTML ، ولكن تحتاج أيضًا إلى تغيير رمز ASP ، وهو أمر ليس من السهل الحفاظ عليه.
لذا ، كيف يمكننا تجنب هذه المشاكل؟
الجواب هو استخدام ملف قالب لفصل رمز ASP وصفحات HTML ، وسيتم حل جميع المشكلات. استخدام القوالب له الفوائد التالية:
1. يمكن استبدال ظهور الموقع بأكمله في وقت قصير جدًا ؛
2. تمكين المبرمجين من البرمجة التجريدية دون الحاجة إلى لمس رمز HTML ؛
3. يمكن إعادة استخدام القالب السابق.
ستعرف البرامج التي استخدمت PHP أن PHP لديه برنامج قالب (FastTemplate). المشكلة الحالية هي كيفية تنفيذ وظائف مماثلة في ASP.
يأتي ASP من Microsoft مع نصين: VBScript و JScript. انهم جميعا مع كائن التعبير العادي (regexp). باستخدام كائنات السلسلة وكائنات regexp ، يمكنك بسهولة تنفيذ وظائف القالب. استخدم Mu Feng هذا لكتابة ملف template.jscript.inc ، ويتم إرفاق محتوى هذا الملف بنهاية المقالة. يمكن للقارئ المختص تحسينًا وفقًا لاحتياجاتهم.
فيما يلي وصف لكيفية استخدامه. نظرًا لأن هذا الملف مكتوب في JScript (بالطبع ، من السهل تحويله إلى vbscript) ، يجب تعيين لغة البرمجة النصية الافتراضية على JScript ، أي ، يجب أن يكون السطر الأول من برنامج ASP: ٪@language = jscript ٪ ، ثم يتم تضمين ملف برنامج القالب:!
اسمحوا لي أولاً أن أقدم استخدام فئة القالب:
1. إنشاء كائن قالب: قالب (مسار)
المعلمات: مسار (نوع السلسلة) مسار تخزين ملف HTML.
استخدم المشغل الجديد لإنشاء كائن قالب.
مثال:
vartpl = newTemplate (c: // template) ؛
في البرنامج ، يمكنك استخدام TPL.TPLPTH للحصول على مسار القالب ، أو يمكنك استخدام TPL.TPLPTH لتغيير مسار القالب.
يحب:
tpl.tplpath = d: // template ؛
2. قم بتحميل ملف القالب: template.load (اسم ، ملف)
المعلمة: الاسم (نوع السلسلة) هو اسم متغير قالب.
ملف (نوع السلسلة) اسم ملف القالب. يتم تخزين هذا الملف في مسار قالب HTML.
اقرأ ملف الملف في اسم متغير القالب.
مثال:
tpl.load (main ، test.htm) ؛
في هذا الوقت ، يحتوي متغير القالب الرئيسي على محتوى test.htm.
يمكنك استخدام TPL.Main للوصول إلى متغير القالب الرئيسي.
مثال:
٪ = tpl.main ٪
سيتم عرض محتوى ملف test.htm الذي تقرأه للتو.
3. تقسيم القالب: template.split (اسم)
المعلمة: الاسم (نوع السلسلة) هو اسم متغير قالب.
تحلل التأمل الفرعي بالاسم.
مثال:
دعنا نفترض أولاً أن محتوى test.htm في المثال أعلاه هو:
-
هذا هو القالب الرئيسي. التالي هو:!#tpldefsubsub sub-template ، و
! #tpldefthird قالب. ! #tplendthird
! #tplendsub
-
لذا:
tpl.split (main) ؛
بعد التنفيذ ، سيتم إنشاء متغيرات القالب الجديدة الفرعية والثالثة ، ومحتواها هو البيان بين! #tpldefsub و! #tplendsub.
علاوة على ذلك ، سيتغير محتوى متغيرات القالب الرئيسية أيضًا:
محتوى tpl.main هو: هذا هو القالب الرئيسي. التالي هو {sub}
محتوى tpl.sub هو: sub-template ، و {third}
محتوى TPL.TH هو: القالب الثالث.
تم ملء كتل البيان المحددة بواسطة TPLDEF و TPLEND مع العديد من إعادة التداول.
4. معالجة القالب: Template.Parse (اسم)
المعلمة: الاسم (نوع السلسلة) هو متغير قالب.
استبدل السلسلة في القالب بأقواس مجعد بمحتويات متغير القالب الذي يحمل نفس الاسم.
مثال: تابع المثال السابق
٪ = tpl.parse (رئيسي) ٪
عرض: هذا هو القالب الرئيسي. التالي هو الفرع الفرعي ، و {ثالث}
كما يتضح من المثال ، يحل Parse محل المتغيرات {sub} فقط في القالب الرئيسي ، ولا يمكن استبداله بطرق متداخلة. تم تصميم هذا عمدا لزيادة مرونة البرنامج. فكيف تعرض القالب الرئيسي بالكامل؟
مثال:
tpl.sub = tpl.parse (sub) ؛ // أول معالجة المتغير الفرعي ، ثم معالجة المتغير الرئيسي.
استجابة. write (tpl.parse (main)) ؛
5. تخصيص متغيرات القالب.
تخصيص متغيرات القالب بسيطة ، يمكنك استخدام بيانات المهمة مباشرة لتحديد وتعديل أي متغير:
مثال:
tpl.hahaha = هذا هو متغير مخصص ؛
tpl.third = تغيير المتغير الثالث في القالب الأصلي ؛
تجدر الإشارة إلى أنه نظرًا لأن JScript حساس للحالة ، يجب أن تنتبه إلى تهجئة الحالة العلوية والسفلية. بشكل عام ، تكون متغيرات القالب المحددة في قوالب HTML في حالة كبيرة.
بالإضافة إلى ذلك ، يتم استخدام متغيرات TPLPath ، الحمل ، تحليل ، وتقسيم المستخدمة في القالب داخليًا. لا تستخدمها أيضًا ، وإلا فقد يكون للبرنامج استثناء.
هنا مثال كامل:
الخطوة 1: إنشاء ملف قالب HTML أولاً.
هنا نشرح أولاً تكوين ملف قالب HTML. بادئ ذي بدء ، لا يختلف الأمر تقريبًا عن ملفات HTML العادية ، باستثناء أن هناك بعض العلامات الأخرى.
هناك نوعان من العلامات للقوالب. دعونا نلقي نظرة أولاً على مثال:
test.htm
-اسم الملف: Test.htm
HTML
مثال العنوان/العنوان
رأس
/رأس
جسم
هذا مثال على الجدول.
طاولة
!#tplendmaxx10! #tplendmaxx
! ... لاحظ أنه يتم استخدام خدعة هنا ، وهو تحديد متغير قالب MAXX وتعيين القيمة إلى 10.
tr
TDX/TDTDX مربع/TD
/tr
! #tpldefrow
tr
td {x}/tdtd {xx}/td
/tr
! #tplendrow
/طاولة
هناك {count} صفوف من البيانات أعلاه.
/جسم
/HTML
-
كما يتضح من ما ورد أعلاه ، تدوينات مثل {x} ، {xx} ، {count} هي متغيرات قالب التعريف. سيتم استبدالها في برنامج ASP.
و! يمكنك تكرار كتل الصف عدة مرات في برنامج ASP.
الخطوة 2: تصميم برنامج ASP.
Test.asp
-٪@اللغة = jscript ٪
!#تشمل file = template.jscript.inc
٪
vartpl = newTemplate (c: // inetpub // wwwroot) ؛
varstr = ؛
vari
tpl.load (main ، test.htm) ؛
tpl.split (main) ؛
tpl.count = 0 ؛
لـ (i = 1 ؛ i = tpl.maxx ؛ i ++) // tpl.maxx يتم تعريفه على أنه 10 في القالب.
{
tpl.x = i ؛
tpl.xx = i*i ؛
str+= tpl.parse (صف) ؛
tpl.count ++ ؛
}
tpl.Row = str ؛
TPL.MAXX = ؛ // امسح هذا المتغير القالب لتجنب عرضه.
٪
٪ = tpl.parse (رئيسي) ٪
-
سيعرض البرنامج أعلاه جدولًا مربعًا من 1 إلى 10.
عادة عند استخدام القوالب ، ما عليك سوى إضافة عبارة تعرض الصفحة إلى السطر الأخير. لذلك ، يبدو البرنامج بأكمله واضحًا جدًا. في هذا الوقت ، ما عليك سوى تحرير ملف القالب لتغيير مظهر الصفحة بأكملها.
بالنسبة لملف القالب ، يمكن أن يكون أي ملف ، مثل ملفات HTML ، أو ملفات ASP ، أو حتى البرنامج نفسه! ، ويمكن تحميل قوالب متعددة في برنامج للعمل معًا ، والذي لا يوفر مرونة كبيرة فحسب ، بل يقلل أيضًا من الارتباط بين ملف القالب وبرنامج ASP.
الاستفادة الجيدة من القوالب سيجعل عملك أسهل.
المرفق: برنامج مصدر القالب
! اسم الملف: template.jscript.inc
٪
/**************************************************/
/*TemplateClass*/
/*مؤلف:*/
/*التاريخ: 6-09*/
/**************************************************/
// Templatemethoddefine
functionTemplate_Parse (اسم)
{
إذا (هذا [الاسم] == فارغ)
يعود؛
varreg = newRegexp ({(// w*)} ، ig) ؛
varstr = newstring (هذا [الاسم]) ؛
vararr = str.match (reg) ؛
vari
إذا (arr! = null)
لـ (i = 0 ؛ iarr.length ؛ i ++)
{
المفتاح = arr.slice (1 ، -1) ؛
Reg = NewRegexp (ARR ، IG) ؛
إذا (هذا [المفتاح]! = فارغ)
str = str.replace (reg ، هذا [المفتاح]) ؛
}
العودة
}
functionTemplate_Split (اسم)
{
varlen = 0 ؛
فارار
إذا (هذا [الاسم] == فارغ)
يعود؛
vartempleate_exp = newRegexp (!#tpldef+(// w*)*((. | // n)*)!#tplend+// 1*، i) ؛
بينما (هذا [الاسم] .Search (template_exp)! =-1)
{
arr = this [name] .match (template_exp) ؛
هذا [arr [1} = arr [2] ؛
هذا [name] = هذا [الاسم] .replace (template_exp ، {+arr [1]+}) ؛
this.split (arr [1]) ؛
}
}
functionTemplate_Load (الاسم ، اسم الملف)
{
varfso = newactivexObject (scripting.filesystemObject) ؛
varfile = fso.buildpath (this.tplpath ، filename) ؛
if (fso.filexists (ملف))
{
varf = fso.opentextFile (ملف ، 1) ؛
هذا [الاسم] = f.readall () ؛
}
}
// Templateconstructor
FunctionTemplate (المسار)
{
//ملكية
this.tplpath = path ؛
//طريقة
this.parse = template_parse ؛
this.split = template_split ؛
this.load = template_load ؛
}
٪
Share: ASP Tutorial: مثال Ajax بسيط ASP Tutorial: مثال بسيط حول Ajax Index.asp: رمز البرنامج HTML HEAD META HTTP-EQUIV = محتوى نوع المحتوى = TEXT/HTML ؛ charset = gb2312 /titleajax تطبيق تطبيق /عنوان Simple Application = javaScript // إنشاء xmlhttprequest كائن var request = false ؛ حاول {رد