Recomendado: Tutorial de ASP: Consejos para ASP para generar pseudo-parámetros Hace dos días, estaba trabajando en una versión en el sitio del motor de búsqueda empresarial y descubrí que algunos sitios pueden vincular al contenido del sitio. . Lo miré extrañamente y descubrí que estaba vinculado de acuerdo con las reglas de numeración automática de la ID de base de datos ~~ ¡Hice lo siguiente en mi tiempo libre, con la esperanza de que sea útil para todos en el futuro escribiendo programas ASP! % '' // Generar un número aleatorio de dígitos especificados '' // También puede usar GUID
Para evitar las dificultades de mantenimiento causadas por la mezcla de programas ASP y el código HTML, este artículo presenta un método para usar plantillas para separar programas y páginas para facilitar la programación.
Al usar ASP para crear un sitio, a menudo hay una situación en la que el código del programa y el código HTML se mezclan en un archivo ASP. Hay muchas desventajas para hacer esto:
1. Sin mencionar que al programar, debe diseñar y organizar el diseño de la página, lo que hará que el código sea confundido y difícil de entender e irregular;
2. Cuando necesite cambiar la apariencia de la página, no solo necesita cambiar la parte HTML, sino que también necesita cambiar el código ASP, que no es fácil de mantener.
Entonces, ¿cómo podemos evitar estos problemas?
La respuesta es usar un archivo de plantilla para separar el código ASP y las páginas HTML, y todos los problemas se resolverán. El uso de plantillas tiene los siguientes beneficios:
1. La apariencia de todo el sitio se puede reemplazar en muy poco tiempo;
2. Habilitar programadores para la programación abstracta sin tener que tocar el código HTML;
3. La plantilla anterior se puede reutilizar.
Los programas que han utilizado PHP sabrán que PHP tiene un programa de plantilla (FastTemplate). El problema actual es cómo implementar funciones similares en ASP.
El ASP de Microsoft viene con dos scripts: VBScript y JScript. Todos vienen con un objeto de expresión regular (regexp). Usando objetos de cadena y objetos REGEXP, puede implementar fácilmente las funciones de plantilla. Mu Feng usó esto para escribir un archivo Template.jscript.inc, y el contenido de este archivo se adjunta al final del artículo. Un lector competente puede mejorar según sus necesidades.
Aquí hay una descripción de cómo usarlo. Dado que este archivo está escrito en JScript (por supuesto, es fácil convertirlo en VBScript), el lenguaje de secuencias de comandos predeterminado debe establecerse en JScript, es decir, la primera línea del programa ASP debe ser: %@lengua = JScript %, y luego el archivo del programa Template se incluye:!#IncludeFile = Template.jscript.Inc.
Permítanme presentar primero el uso de la clase de plantilla:
1. Cree un objeto de plantilla: plantilla (ruta)
Parámetros: ruta (tipo de cadena) ruta de almacenamiento de archivos de plantilla HTML.
Use el nuevo operador para crear un objeto de plantilla.
ejemplo:
vartpl = newtemplate (c: // plantilla);
En el programa, puede usar tpl.tplpath para obtener la ruta de la plantilla, o puede usar tpl.tplpath para cambiar la ruta de la plantilla.
como:
tpl.tplpath = d: // plantilla;
2. Cargue el archivo de plantilla: Template.load (nombre, archivo)
Parámetro: el nombre (tipo de cadena) es un nombre de variable de plantilla.
Archivo (tipo de cadena) Nombre de archivo de plantilla. Este archivo se almacena en la ruta de plantilla HTML.
Lea el archivo del archivo en el nombre de la variable de plantilla.
ejemplo:
tpl.load (main, test.htm);
En este momento, la variable de plantilla principal contiene el contenido del archivo test.htm.
Puede usar TPL.Main para acceder a la variable de plantilla principal.
ejemplo:
%= Tpl.Main%
Se mostrará el contenido del archivo test.htm que acaba de leer.
3. Template Split: Template.split (nombre)
Parámetro: el nombre (tipo de cadena) es un nombre de variable de plantilla.
Descompone el subemplato en el nombre.
ejemplo:
Primero supongamos que el contenido test.htm en el ejemplo anterior es:
-
Esta es la plantilla principal. El siguiente es:
! #Tpltefthird plantilla. ! #Tplendthird
! #Tplendsub
-
Entonces:
tpl.split (principal);
Después de la ejecución, se generarán nuevas variables de plantilla sub y terceros, y su contenido es la declaración entre! #TPldefSub y! #TPlendSub.
Además, el contenido de las variables de plantilla principal también cambiará:
El contenido de tpl.main es: esta es la plantilla principal. El siguiente es {sub}
El contenido de tpl.sub es: sub-plemplate, y {tercero}
El contenido de tpl.third es: tercera plantilla.
Los bloques de la declaración definidos por TPLDEF y TPLEND están llenos de muchos re-anidados.
4. Procesamiento de plantillas: Template.Parse (nombre)
Parámetro: el nombre (tipo de cadena) es una variable de plantilla.
Reemplace la cadena en la plantilla con aparatos ortopédicos rizados con el contenido de la variable de plantilla del mismo nombre.
Ejemplo: continúe con el ejemplo anterior
%= Tpl.Parse (principal)%
Mostrar: Esta es la plantilla principal. El siguiente es el sub-plemplato y {tercero}
Como se puede ver en el ejemplo, analizar solo reemplaza las variables {sub} en la plantilla principal, y no se puede reemplazar de manera anidada. Esto fue diseñado deliberadamente para aumentar la flexibilidad del programa. Entonces, ¿cómo se muestra la plantilla principal en su totalidad?
ejemplo:
tpl.sub = tpl.parse (sub); // Primero procesa la sub -variable, luego procesa la variable principal.
Respuesta.write (tpl.parse (main));
5. Personalizar variables de plantilla.
La personalización de las variables de la plantilla es simple, puede usar directamente las declaraciones de asignación para definir y modificar cualquier variable:
ejemplo:
tpl.hahaha = Esta es una variable personalizada;
tpl.third = Cambiar la tercera variable en la plantilla original;
Cabe señalar que, dado que JScript es sensible a los casos, debe prestar atención a la ortografía de la caja superior y minúscula. En términos generales, las variables de plantilla definidas en las plantillas HTML están en mayúsculas.
Además, las variables TPLPATH, CARGO, PARSE y Split utilizadas en la plantilla se usan internamente. No los use también, de lo contrario, el programa puede tener una excepción.
Aquí hay un ejemplo completo:
Paso 1: cree primero el archivo de plantilla HTML.
Aquí explicamos primero la composición del archivo de plantilla HTML. En primer lugar, casi no es diferente de los archivos HTML ordinarios, excepto que hay algunas etiquetas más.
Hay dos tipos de marcas para plantillas. Primero veamos un ejemplo:
Test.htm
-! Nombre del archivo: test.htm
Html
Título de ejemplo/título
ENCABEZAMIENTO
/ENCABEZAMIENTO
CUERPO
Este es un ejemplo de tabla.
MESA
!#Tplendmaxx10! #Tplendmaxx
! ... Tenga en cuenta que se usa un truco aquí, que es definir la variable de plantilla Maxx y asignar el valor a 10.
TR
TDX/TDTDX Squared/TD
/TR
! #Tpldefrow
TR
Td {x}/tdtd {xx}/td
/TR
! #Tplendrow
/MESA
Hay {Count} filas de datos anteriores.
/CUERPO
/Html
-
Como se puede ver en lo anterior, las anotaciones como {x}, {xx}, {count} son las variables de plantilla de definición. Serán reemplazados en el programa ASP.
Y! #Tpldefrow ...!#Tplendrow es definir una fila de bloque de declaración. Puede repetir los bloques de fila varias veces en el programa ASP.
Paso 2: Diseñe el programa ASP.
Test.asp
-%@Idioma = jscript%
!#includeFile = Template.jscript.inc
De %
vartpl = newtemplate (c: // inetpub // wwwroot);
varstr =;
vari;
tpl.load (main, test.htm);
tpl.split (principal);
tpl.count = 0;
para (i = 1; i = tpl.maxx; i ++) // tpl.maxx se define como 10 en la plantilla.
{
tpl.x = i;
tpl.xx = i*i;
str+= tpl.parse (fila);
tpl.count ++;
}
tpl.row = str;
tpl.maxx =; // Borrar esta variable de plantilla para evitar ser mostrada.
De %
%= Tpl.Parse (principal)%
-
El programa anterior mostrará una tabla cuadrada de 1 a 10.
Por lo general, cuando use plantillas, simplemente agregue una declaración que muestre la página a la última línea. Por lo tanto, todo el programa parece muy claro. En este momento, simplemente edite el archivo de plantilla para cambiar la apariencia de toda la página.
En cuanto al archivo de plantilla, puede ser cualquier archivo, como archivos HTML, archivos ASP o incluso el programa en sí!, Y varias plantillas se pueden cargar en un programa para trabajar juntos, lo que no solo proporciona una gran flexibilidad, sino que también minimiza la correlación entre el archivo de plantilla y el programa ASP.
Hacer un buen uso de las plantillas facilitará su trabajo.
Adjunto: Programa de fuente de plantillas
! Nombre del archivo: Template.jscript.inc
De %
/**************************************************
/*TEMPLATECLASS*/
/*Autor:*/
/*Fecha: 6-09*/
/**************************************************
// Templatemetoddefine
functionTemplate_parse (nombre)
{
if (este [nombre] == nulo)
devolver;
varreg = newregExp ({(// w*)}, ig);
varstr = newstring (este [nombre]);
vararr = str.match (reg);
vari;
if (arr! = null)
para (i = 0; iarr.length; i ++)
{
clave = arr.slice (1, -1);
reg = newregexp (arr, ig);
if (esta [clave]! = nulo)
str = str.replace (reg, esta [clave]);
}
returnstr;
}
functionTemplate_split (nombre)
{
varlen = 0;
vararr;
if (este [nombre] == nulo)
devolver;
varTemplate_EXP = newregExp (!#tplDef+(// w*)*((. | // n)*)!#tplend+// 1*, i);
while (este [nombre] .Search (Template_EXP)! =-1)
{
arr = this [nombre] .match (Template_EXP);
este [arr [1} = arr [2];
this [name] = this [name] .replace (Template_exp, {+arr [1]+});
this.split (arr [1]);
}
}
functionTemplate_load (nombre, nombre de archivo)
{
varfso = newActivexObject (scripting.filesystemObject);
varfile = fso.buildpath (this.tplpath, nombre de archivo);
if (fso.fileExists (archivo))
{
varf = fso.opentextfile (archivo, 1);
este [nombre] = f.ReadAll ();
}
}
// TemplateConstructor
functionTemplate (ruta)
{
//Propiedad
this.tplpath = ruta;
//Método
this.Parse = Template_Parse;
this.split = Template_split;
this.load = Template_Load;
}
De %
Compartir: Tutorial ASP: un simple ejemplo de Ajax Tutorial ASP: un ejemplo simple sobre Ajax index.asp: código de programa html meta http-oquiv = content-type content = text/html; Charset = GB2312 /TitleAraJax Simple Application /Title Script Language = JavaScript // Crear xmlhttprequest objeto var request = false; prueba {re