Recommandé: Tutoriel ASP: Conseils pour ASP pour générer des pseudo-paramètres Il y a deux jours, je travaillais sur une version en site du moteur de recherche d'entreprise et j'ai constaté que certains sites peuvent être liés au contenu du site. . Je l'ai regardé étrangement et j'ai constaté qu'il était lié en fonction des règles de numérotation automatique de l'identification de la base de données ~~ J'ai fait la chose suivante pendant mon temps libre, en espérant que cela sera utile à tout le monde dans le futur programmes ASP! % '' // générer un nombre aléatoire de chiffres spécifiés '' // Vous pouvez également utiliser GUID
Afin d'éviter les difficultés de maintenance causées par le mélange de programmes ASP et de code HTML, cet article présente une méthode pour utiliser des modèles pour séparer les programmes et les pages pour faciliter la programmation.
Lorsque vous utilisez ASP pour créer un site, il y a souvent une situation où le code de programme et le code HTML sont mélangés dans un fichier ASP. Il y a beaucoup d'inconvénients à faire cela:
1. Sans oublier que lors de la programmation, vous devez concevoir et organiser la disposition de la page, ce qui entraînera la confusion du code et difficile à comprendre et à comprendre;
2. Lorsque vous devez modifier l'apparence de la page, vous devez non seulement modifier la pièce HTML, mais aussi avoir besoin de modifier le code ASP, ce qui n'est pas facile à entretenir.
Alors, comment pouvons-nous éviter ces problèmes?
La réponse consiste à utiliser un fichier de modèle pour séparer les pages ASP Code et HTML, et tous les problèmes seront résolus. L'utilisation de modèles a les avantages suivants:
1. L'apparition de l'ensemble du site peut être remplacée en très peu de temps;
2. Activer les programmeurs pour résumer la programmation sans avoir à toucher le code HTML;
3. Le modèle précédent peut être réutilisé.
Les programmes qui ont utilisé PHP sauront que PHP a un programme de modèle (FastTemplate). Le problème actuel est de savoir comment implémenter des fonctions similaires dans ASP.
L'ASP de Microsoft est livré avec deux scripts: VBScript et JScript. Ils viennent tous avec un objet d'expression régulière (regexp). À l'aide d'objets String et d'objets regexp, vous pouvez facilement implémenter les fonctions de modèle. Mu Feng a utilisé ceci pour écrire un fichier template.jscript.inc, et le contenu de ce fichier est joint à la fin de l'article. Un lecteur compétent peut s'améliorer en fonction de ses besoins.
Voici une description de la façon de l'utiliser. Étant donné que ce fichier est écrit dans JScript (bien sûr, il est facile de le convertir en VBScript), le langage de script par défaut devrait être défini sur JScript, c'est-à-dire que la première ligne du programme ASP devrait être:% @ linguisse = jscript%, puis le fichier du programme de modèle est inclus :! # includeFile = template.jscript.inc.
Permettez-moi d'abord d'introduire l'utilisation de la classe de modèle:
1. Créer un objet de modèle: modèle (chemin)
Paramètres: Chemin (Type de chaîne) HTML Template File Storage Chemin.
Utilisez le nouvel opérateur pour créer un objet de modèle.
exemple:
vartpl = newTemplate (c: // modèle);
Dans le programme, vous pouvez utiliser tpl.tplpath pour obtenir le chemin du modèle, ou vous pouvez utiliser tpl.tplpath pour modifier le chemin du modèle.
comme:
TPL.TPLPATH = D: // Modèle;
2. Chargez le fichier de modèle: template.load (nom, fichier)
Paramètre: le nom (type de chaîne) est un nom de variable de modèle.
Nom de fichier (type de chaîne) Nom du fichier. Ce fichier est stocké dans le chemin du modèle HTML.
Lisez le fichier du fichier dans le nom de la variable de modèle.
exemple:
tpl.load (main, test.htm);
À l'heure actuelle, la variable de modèle Main contient le contenu du fichier test.htm.
Vous pouvez utiliser tpl.main pour accéder à la variable de modèle principale.
exemple:
% = tpl.main%
Le contenu du fichier test.htm que vous venez de lire sera affiché.
3. Template Split: Template.split (nom)
Paramètre: le nom (type de chaîne) est un nom de variable de modèle.
Décomposez le sous-modèle du nom.
exemple:
Supposons d'abord que le contenu test.htm dans l'exemple ci-dessus est:
-
Ceci est le modèle principal. Ensuite, c'est :! # TPLDEFSUBSUB Sous-modèle, et
! #Tpldefthird Template. ! #TPlendthird
! #TPLENSUB
-
Donc:
tpl.split (main);
Après l'exécution, de nouvelles variables de modèle Sub et Third seront générées, et leur contenu est l'instruction entre! #TPLDEFSUB et! #TPLENSUB.
De plus, le contenu des variables de modèle principale changera également:
Le contenu de tpl.main est: c'est le modèle principal. Ensuite, c'est {sub}
Le contenu de tpl.sub est: sous-modèle sous-modèle et {troisième}
Le contenu de TPL.Third est: troisième modèle.
Les blocs de déclaration définis par TPLDEF et TPLEND sont remplis de nombreux repensés.
4. Traitement du modèle: Template.Parse (nom)
Paramètre: le nom (type de chaîne) est une variable de modèle.
Remplacez la chaîne dans le modèle par des accolades bouclées par le contenu de la variable de modèle du même nom.
Exemple: Continuez avec l'exemple précédent
% = tpl.parse (principal)%
Show: Ceci est le modèle principal. Ensuite, le sous-modèle sous-modèle, et {troisième}
Comme on peut le voir à partir de l'exemple, Parse remplace uniquement les variables {sub} dans le modèle principal et ne peut pas être remplacée de manière imbriquée. Ceci a été conçu délibérément pour augmenter la flexibilité du programme. Alors, comment affichez-vous l'intégralité du modèle principal?
exemple:
tpl.sub = tpl.parse (sub); // traitez d'abord la sous-variable, puis traitez la variable principale.
Response.Write (Tpl.Parse (Main));
5. Personnaliser les variables de modèle.
La personnalisation des variables de modèle est simple, vous pouvez utiliser directement des instructions d'affectation pour définir et modifier n'importe quelle variable:
exemple:
tpl.hahaha = il s'agit d'une variable personnalisée;
tpl.third = modifier la troisième variable dans le modèle d'origine;
Il convient de noter que puisque JScript est sensible à la casse, vous devez prêter attention à l'orthographe de la casse supérieure et inférieure. D'une manière générale, les variables de modèle définies dans les modèles HTML sont en majuscules.
De plus, les variables TPLPATH, charge, analyse et division utilisées dans le modèle sont utilisées en interne. Ne les utilisez pas aussi bien, sinon le programme peut avoir une exception.
Voici un exemple complet:
Étape 1: Créez d'abord le fichier de modèle HTML.
Ici, nous expliquons d'abord la composition du fichier de modèle HTML. Tout d'abord, ce n'est presque pas différent des fichiers HTML ordinaires, sauf qu'il y a quelques balises supplémentaires.
Il existe deux types de marquages pour les modèles. Regardons d'abord un exemple:
Test.htm
-! Nom de fichier: test.htm
Html
Exemple de titre / titre
Tête
/ En-tête
CORPS
Ceci est un exemple de table.
TABLEAU
! # TPlendMaxx10! #TPlendMaxx
! ... Notez qu'une astuce est utilisée ici, qui consiste à définir la variable du modèle MAXX et à attribuer la valeur à 10.
Tr
TDX / TDTDX Squared / TD
/ Tr
! #Tpldefrow
Tr
Td {x} / tdtd {xx} / td
/ Tr
! #TPlendrow
/TABLEAU
Il y a {comte} des lignes de données ci-dessus.
/CORPS
/ Html
-
Comme on peut le voir à partir de ce qui précède, des notations comme {x}, {xx}, {count} sont les variables de modèle de définition. Ils seront remplacés dans le programme ASP.
Et! #Tpldefrow ...! # TPlendrow est de définir une ligne de blocage de déclaration. Vous pouvez répéter les blocs de ligne plusieurs fois dans le programme ASP.
Étape 2: Concevez le programme ASP.
Test.asp
-% @ Language = jscript%
! # includeFile = template.jscript.inc
%
vartpl = newTemplate (c: // inetpub // wwwroot);
varstr =;
vari;
tpl.load (main, test.htm);
tpl.split (main);
tpl.Count = 0;
pour (i = 1; i = tpl.maxx; i ++) // tpl.maxx est défini comme 10 dans le modèle.
{
tpl.x = i;
tpl.xx = i * i;
str + = tpl.parse (row);
tpl.Count ++;
}
tpl.row = str;
tpl.maxx =; // effacez cette variable de modèle pour éviter d'être affichée.
%
% = tpl.parse (principal)%
-
Le programme ci-dessus affichera une table carrée de 1 à 10.
Habituellement, lorsque vous utilisez des modèles, ajoutez simplement une instruction affichant la page à la dernière ligne. Par conséquent, l'ensemble du programme semble très clair. À l'heure actuelle, modifiez simplement le fichier de modèle pour modifier l'apparence de la page entière.
Quant au fichier de modèle, il peut s'agir de n'importe quel fichier, tel que des fichiers HTML, des fichiers ASP, ou même le programme lui-même!
Faire bon usage des modèles facilitera votre travail.
Attachement: programme de source de modèle
! Nom du fichier: template.jscript.inc
%
/ ****************************************************** /
/ * Templateclass * /
/*Auteur:*/
/ * Date: 6-09 * /
/ ****************************************************** /
// Templatethoddefine
functionTemplate_parse (nom)
{
si (ce [nom] == null)
retour;
varreg = newRegexp ({(// w *)}, ig);
varstr = newstring (ce [nom]);
vararr = str.match (reg);
vari;
if (arr! = null)
pour (i = 0; iarr.length; i ++)
{
key = arr.slice (1, -1);
reg = newRegexp (arr, ig);
si (cette [clé]! = null)
str = str.replace (reg, this [key]);
}
returnstr;
}
functionTemplate_split (nom)
{
varlen = 0;
Vararr;
si (ce [nom] == null)
retour;
vartemplate_exp = newRegexp (! # tpldef + (// w *) * ((. | // n) *)! # tPlend + // 1 *, i);
while (ce [nom] .search (template_exp)! = - 1)
{
arr = this [name] .match (template_exp);
Ce [arr [1} = arr [2];
this [name] = this [name] .replace (template_exp, {+ arr [1] +});
this.split (arr [1]);
}
}
functionTemplate_load (nom, nom de fichier)
{
varfso = newActivexObject (scripting.fileSystemObject);
varFile = fso.buildPath (this.tplpath, nom de fichier);
if (fso.fileexists (fichier))
{
varf = fso.OpenSExtFile (fichier, 1);
Ce [nom] = f.readall ();
}
}
// templateconstructor
FunctionTemplate (chemin)
{
//Propriété
this.tplpath = path;
//Méthode
this.parse = template_parse;
this.split = template_split;
this.load = template_load;
}
%
Partager: Tutoriel ASP: un exemple simple Ajax Tutoriel ASP: un exemple simple sur AJAX index.asp: code de programme HTML Head Meta Http-Equiv = Content-Type Content = Text / HTML; charset = gb2312 / titleajax application simple / title script linguisse = javascript // crée xmlhttprequest objet var request = false; essayez {re