Empfohlen: ASP-Tutorial: Tipps für ASP, um Pseudo-Parameter zu generieren Vor zwei Tagen arbeitete ich an einer In-Site-Version der Enterprise-Suchmaschine und stellte fest, dass einige Websites auf Site-Inhalte verlinken können. . Ich schaute es mir seltsam an und stellte fest, dass es gemäß den automatischen Nummerierungsregeln der Datenbank -ID verknüpft war. Ich habe in meiner Freizeit das Folgende erstellt und gehofft, dass es für alle in zukünftigen Schreiben von ASP -Programmen hilfreich sein wird! % '' // generieren zufällige Anzahl angegebener Ziffern '' // Sie können auch die GUID verwenden
Um Wartungsschwierigkeiten zu vermeiden, die durch das Mischen von ASP -Programmen und HTML -Code verursacht werden, führt dieser Artikel mit einer Methode zur Verwendung von Vorlagen für Programme und Seiten ein, um die Programmierung zu vereinfachen.
Wenn Sie ASP zum Erstellen einer Website verwenden, gibt es häufig eine Situation, in der der Programmcode und der HTML -Code in einer ASP -Datei gemischt werden. Es gibt viele Nachteile, dies zu tun:
5. Ganz zu schweigen davon, dass Sie beim Programmieren das Seitenlayout entwerfen und ordnen müssen, was dazu führt, dass der Code verwirrt und schwer zu verstehen und unregelmäßig ist.
2. Wenn Sie das Erscheinungsbild der Seite ändern müssen, müssen Sie nicht nur den HTML -Teil ändern, sondern auch den ASP -Code ändern, der nicht einfach zu warten ist.
Wie können wir diese Probleme vermeiden?
Die Antwort besteht darin, eine Vorlagendatei zu verwenden, um den ASP -Code und die HTML -Seiten zu trennen, und alle Probleme werden gelöst. Die Verwendung von Vorlagen hat die folgenden Vorteile:
1. Das Erscheinungsbild der gesamten Stelle kann in sehr kurzer Zeit ersetzt werden;
2.. Ermöglichen Sie den Programmierern, die Programmierung abstrahieren zu können, ohne den HTML -Code berühren zu müssen.
3. Die vorherige Vorlage kann wiederverwendet werden.
Programme, die PHP verwendet haben, wissen, dass PHP ein Vorlagenprogramm (FastTemplate) hat. Das aktuelle Problem ist, wie ähnliche Funktionen in ASP implementiert werden können.
Der ASP von Microsoft verfügt über zwei Skripte: VBScript und Jscript. Sie alle kommen mit einem regulären Ausdrucksobjekt (Regexp). Mithilfe von String -Objekten und Regexp -Objekten können Sie die Vorlagenfunktionen problemlos implementieren. Mu Feng hat dies verwendet, um eine Datei template.jscript.inc zu schreiben, und der Inhalt dieser Datei wird am Ende des Artikels angehängt. Ein kompetenter Leser kann sich entsprechend seinen Bedürfnissen verbessern.
Hier ist eine Beschreibung, wie man es benutzt. Da diese Datei in JScript geschrieben ist (natürlich ist es einfach, sie in VBScript umzuwandeln), sollte die Standard -Skriptsprache auf JScript festgelegt werden, dh die erste Zeile des ASP -Programms sollte: %@Sprache = Jscript %und dann die Vorlagenprogrammdatei enthalten :!#includeFile = template.jscript.inc.
Lassen Sie mich zunächst die Verwendung der Vorlagenklasse vorstellen:
1. Erstellen Sie ein Vorlagenobjekt: Vorlage (Pfad)
Parameter: Pfad (String -Typ) HTML -Vorlagendateispeicher.
Verwenden Sie den neuen Bediener, um ein Vorlagenobjekt zu erstellen.
Beispiel:
vartpl = newTemplate (c: // Vorlage);
Im Programm können Sie mit TPL.TPLPath den Vorlagenpfad abrufen, oder Sie können mit TPL.TPLPath den Vorlagenpfad ändern.
wie:
TPL.TPLPATH = D: // Vorlage;
2. Laden Sie die Vorlagendatei: Vorlage.load (Name, Datei).
Parameter: Name (String -Typ) ist ein Vorlagenvariablenname.
Datei (Zeichenfolge Typ) Vorlagendateiname. Diese Datei wird im HTML -Vorlagenpfad gespeichert.
Lesen Sie die Dateidatei in den Vorlagenvariablennamen.
Beispiel:
tpl.load (main, test.htm);
Zu diesem Zeitpunkt enthält die Vorlagenvariable Main den Inhalt des Datei test.htm.
Sie können TPL.Main verwenden, um auf die Vorlagenvariable zuzugreifen.
Beispiel:
%= tpl.main%
Der Inhalt der von Ihnen gerade gelesenen Test.htm -Datei wird angezeigt.
3. Template Split: Vorlage.Split (Name)
Parameter: Name (String -Typ) ist ein Vorlagenvariablenname.
Zersetzen Sie das Unter-Template im Namen.
Beispiel:
Nehmen wir zunächst an, dass der Inhalt test.htm im obigen Beispiel lautet:
- -
Dies ist die Hauptvorlage. Als nächstes kommt:!#Tpldefsubsub sub-template, und
! #TPLDEFTHIRD -Vorlage. ! #Tplendthird
! #Tplendsub
- -
Also:
tpl.split (main);
Nach der Ausführung werden neue Vorlagenvariablen Sub und Dritter generiert, und ihr Inhalt ist die Anweisung zwischen! #TPLDEFSUB und! #Tplendsub.
Darüber hinaus ändert sich auch der Inhalt der Hauptvorlagenvariablen:
Der Inhalt von tpl.main lautet: Dies ist die Hauptvorlage. Als nächstes kommt {sub}
Der Inhalt von TPL.SUB ist: Sub-Template und {dritte}
Der Inhalt von TPL.Third ist: dritte Vorlage.
Die von TPLDEF und TPLend definierten Anweisungsblöcken sind mit vielen neuesten gefüllt.
4. Vorlagenverarbeitung: Vorlage.Parse (Name)
Parameter: Name (String -Typ) ist eine Vorlagenvariable.
Ersetzen Sie die Zeichenfolge in der Vorlage durch lockige Klammern durch den Inhalt der gleichnamigen Vorlagenvariablen.
Beispiel: Fahren Sie mit dem vorherigen Beispiel fort
%= tpl.Parse (Haupt)%
Show: Dies ist die Hauptvorlage. Als nächstes kommt die Sub-Template und {dritte}
Wie aus dem Beispiel ersichtlich ist, ersetzt Parse nur die {sub} -Variablen in der Hauptvorlage und kann nicht auf verschachtelte Weise ersetzt werden. Dies wurde absichtlich entwickelt, um die Programmflexibilität zu erhöhen. Wie zeigt man die Hauptvorlage vollständig an?
Beispiel:
tpl.sub = tpl.parse (sub); // Verarbeiten Sie zuerst die Subvariable und verarbeiten Sie dann die Hauptvariable.
Antwort.Write (tpl.Parse (main));
5. Anpassen Vorlagenvariablen.
Das Anpassen von Vorlagenvariablen ist einfach. Sie können direkte Zuweisungsanweisungen verwenden, um jede Variable zu definieren und zu ändern:
Beispiel:
tpl.hahaha = Dies ist eine benutzerdefinierte Variable;
TPL.Third = Ändern Sie die dritte Variable in der ursprünglichen Vorlage;
Es ist zu beachten, dass Sie, da Jscript für Fall sensibel ist, auf die Schreibweise des oberen und unteren Falls achten müssen. Im Allgemeinen befinden sich in HTML -Vorlagen definierte Vorlagenvariablen in Großbuchstaben.
Zusätzlich werden die in der Vorlage verwendeten TPLPath-, Last-, Analyse- und Split -Variablen intern verwendet. Verwenden Sie sie nicht auch, da das Programm ansonsten eine Ausnahme hat.
Hier ist ein vollständiges Beispiel:
Schritt 1: Erstellen Sie zuerst die HTML -Vorlagendatei.
Hier erklären wir zunächst die Komposition der HTML -Vorlagendatei. Erstens unterscheidet es sich fast nicht von gewöhnlichen HTML -Dateien, außer dass es noch einige Tags gibt.
Es gibt zwei Arten von Markierungen für Vorlagen. Schauen wir uns zuerst ein Beispiel an:
Test.htm
- -! Dateiname: test.htm
Html
Titelbeispiel/Titel
Kopfball
/Header
KÖRPER
Dies ist ein Tabellenbeispiel.
TISCH
!#TPLENDMAXX10! #TPLENDMAXX
! ... Beachten Sie, dass hier ein Trick verwendet wird, bei dem die MAXX -Vorlagenvariable definiert und den Wert 10 zugewiesen wird.
Tr
TDX/TDTDX Squared/TD
/Tr
! #Tpldefrow
Tr
Td {x}/tdtd {xx}/td
/Tr
! #Tplendrow
/TISCH
Es gibt {count} Datenzeilen oben.
/KÖRPER
/Html
- -
Wie aus den oben genannten Erscheinen ersichtlich ist, sind Notationen wie {x}, {xx}, {count} die Definitionsvorlagenvariablen. Sie werden im ASP -Programm ersetzt.
Und! #TPlDEFROW ...! Sie können die Zeilenblöcke im ASP -Programm mehrmals wiederholen.
Schritt 2: Entwerfen Sie das ASP -Programm.
Test.asp
- -%@Sprache = Jscript%
!#includeFile = template.jscript.inc
%
vartpl = newTemplate (c: // inetpub // wwwroot);
varstr =;
vari;
tpl.load (main, test.htm);
tpl.split (main);
tpl.count = 0;
für (i = 1; i = tpl.maxx; i ++) // tpl.maxx ist in der Vorlage als 10 definiert.
{
tpl.x = i;
tpl.xx = i*i;
str+= tpl.parse (row);
tpl.count ++;
}
tpl.row = str;
tpl.maxx =; // Diese Vorlagenvariable löschen, um zu vermeiden, dass angezeigt wird.
%
%= tpl.Parse (Haupt)%
- -
Das obige Programm zeigt eine quadratische Tabelle von 1 bis 10 an.
Wenn Sie Vorlagen verwenden, fügen Sie normalerweise eine Anweisung hinzu, die die Seite zur letzten Zeile zeigt. Daher erscheint das gesamte Programm sehr klar. Bearbeiten Sie zu diesem Zeitpunkt einfach die Vorlagendatei, um das Erscheinungsbild der gesamten Seite zu ändern.
In der Vorlagendatei kann es sich um jede Datei handelt, wie z. B. HTML -Dateien, ASP -Dateien oder sogar das Programm selbst!, Und mehrere Vorlagen können in einem Programm geladen werden, um zusammenzuarbeiten, was nicht nur eine große Flexibilität bietet, sondern auch die Korrelation zwischen der Vorlagendatei und dem ASP -Programm minimiert.
Wenn Sie die Vorlagen gut nutzen, erleichtern Sie Ihre Arbeit.
Anhang: Vorlagenquellenprogramm
! Dateiname: Vorlage.jscript.inc
%
/**************************************************************
/*Templateclass*/
/*Autor:*/
/*Datum: 6-09*/
/**************************************************************
// templatemethoddefine
FunktionTemplate_Parse (Name)
{
if (this [name] == null)
zurückkehren;
varReg = newRegExp ({(// w*)}, ig);
varstr = Newsstring (dieser [Name]);
vararr = str.match (reg);
vari;
if (arr! = null)
für (i = 0; iarr.length; i ++)
{
Key = arr.lice (1, -1);
reg = newRegexp (arr, ig);
if (dieser [Schlüssel]! = NULL)
Str = str.replace (Reg, dieser [Schlüssel]);
}
returnstr;
}
functionTemplate_split (Name)
{
varlen = 0;
vararr;
if (this [name] == null)
zurückkehren;
vartemplate_exp = newReGexp (!#tPldef+(// w*)*((. | // n)*)!#tplend+// 1*, i);
while (this [name] .Search (template_exp)! =-1)
{
arr = this [name] .match (template_exp);
dies [arr [1} = arr [2];
this [name] = this [name] .Replace (template_exp, {+arr [1]+});
this.Split (arr [1]);
}
}
FunktionTemplate_load (Name, Dateiname)
{
VARFSO = newActActXObject (scripting.FilesSystemObject);
varfile = fso.buildPath (this.tplpath, Dateiname);
if (fso.FileExists (Datei))
{
varf = fso.opentextFile (Datei, 1);
Dieser [Name] = f.readall ();
}
}
// TemplateConstructor
FunktionsTemplate (Pfad)
{
//Eigentum
this.tplPath = Pfad;
//Verfahren
this.parse = template_parse;
this.split = template_split;
this.load = template_load;
}
%
Share: ASP Tutorial: Ein einfaches AJAX -Beispiel ASP-Tutorial: Ein einfaches Beispiel zu AJAX Index.asp: Programmcode HTML Head Meta http-äquiv = content-type content = text/html; charSet = gb2312 /titleajax Einfache Anwendung /Title Skript Sprache = JavaScript // erstellen xmlhttprequest -Objekt var request = false; versuche {re