Recomendado: ASP Tutorial: Dicas para ASP gerar pseudo-parâmetros Dois dias atrás, eu estava trabalhando em uma versão no local do mecanismo de pesquisa corporativo e descobri que alguns sites podem vincular-se ao conteúdo do site. . Eu olhei estranhamente e descobri que estava ligado de acordo com as regras de numeração automática do ID do banco de dados ~~ fiz a seguinte coisa no meu tempo livre, esperando que seja útil para todos nos futuros programas ASP! % '' // gerar número aleatório de dígitos especificados '' // você também pode usar o GUID
Para evitar dificuldades de manutenção causadas pela mistura de programas ASP e código HTML, este artigo apresenta um método para usar modelos para separar programas e páginas para facilitar a programação.
Ao usar asp para criar um site, muitas vezes há uma situação em que o código do programa e o código HTML são misturados em um arquivo ASP. Há muitas desvantagens em fazer isso:
1. Sem mencionar que, ao programar, você deve projetar e organizar o layout da página, o que fará com que o código seja confundido e difícil de entender e irregular;
2. Quando você precisar alterar a aparência da página, você não apenas precisa alterar a parte HTML, mas também precisa alterar o código ASP, que não é fácil de manter.
Então, como podemos evitar esses problemas?
A resposta é usar um arquivo de modelo para separar o código ASP e as páginas HTML, e todos os problemas serão resolvidos. O uso de modelos tem os seguintes benefícios:
1. A aparência de todo o site pode ser substituída em um tempo muito curto;
2. Ative os programadores para abstrair a programação sem precisar tocar o código HTML;
3. O modelo anterior pode ser reutilizado.
Os programas que usaram o PHP saberão que o PHP possui um programa de modelo (FastTemplate). O problema atual é como implementar funções semelhantes no ASP.
A ASP da Microsoft vem com dois scripts: VBScript e JScript. Todos eles vêm com um objeto de expressão regular (regexp). Usando objetos de string e objetos regexp, você pode facilmente implementar funções de modelo. Mu Feng usou isso para gravar um arquivo model.jscript.inc, e o conteúdo deste arquivo é anexado ao final do artigo. Um leitor competente pode melhorar de acordo com suas necessidades.
Aqui está uma descrição de como usá -lo. Como esse arquivo está escrito no JScript (é claro que é fácil convertê -lo em VBScript), a linguagem de script padrão deve ser definida como JScript, ou seja, a primeira linha do programa ASP deve ser: %@idioma = jscript %e, em seguida, o arquivo do programa de modelo está incluído:!
Deixe -me primeiro apresentar o uso da classe de modelo:
1. Crie um objeto de modelo: modelo (caminho)
Parâmetros: Path (String Type) HTML Modelo Caminho de armazenamento de arquivos.
Use o novo operador para criar um objeto de modelo.
exemplo:
varartpl = newTemplate (c: // modelo);
No programa, você pode usar o TPL.TPLPATH para obter o caminho do modelo ou usar tpl.tplpath para alterar o caminho do modelo.
como:
tpl.tplpath = d: // modelo;
2. Carregue o arquivo de modelo: modelo.load (nome, arquivo)
Parâmetro: Nome (String Type) é um nome de variável de modelo.
Nome do arquivo de arquivo de arquivo (string tipo). Este arquivo é armazenado no caminho do modelo HTML.
Leia o arquivo de arquivo no nome da variável de modelo.
exemplo:
tpl.load (main, test.htm);
No momento, a variável de modelo principal contém o conteúdo do arquivo test.htm.
Você pode usar o TPL.Main para acessar a variável de modelo principal.
exemplo:
%= tpl.main%
O conteúdo do arquivo test.htm que você acabou de ler será exibido.
3. Modelo Split: modelo.split (nome)
Parâmetro: Nome (String Type) é um nome de variável de modelo.
Decomponha o subtate em nome.
exemplo:
Vamos primeiro supor que o conteúdo test.htm no exemplo acima seja:
-
Este é o modelo principal. Em seguida, é :!#TPLDEFSUBSUB SUB-TEMPLATE, e
! #Tpldefthird modelo. ! #Tplendthird
! #Tplendsub
-
Então:
tpl.split (principal);
Após a execução, novas variáveis de modelo sub e terceiro serão geradas, e seu conteúdo é a declaração entre! #Tpldefsub e! #Tplendsub.
Além disso, o conteúdo das variáveis de modelo principal também mudará:
O conteúdo do TPL.Main é: este é o modelo principal. O próximo é {sub}
O conteúdo do tpl.sub é: sub-templado e {terceira}
O conteúdo do TPL.Dirird é: Terceiro modelo.
Os blocos de declaração definidos pelo TPLDEF e TPLEND são preenchidos com muitos re-aninhados.
4. Processamento de modelo: modelo.parse (nome)
Parâmetro: Nome (String Type) é uma variável de modelo.
Substitua a sequência no modelo por aparelhos encaracolados pelo conteúdo da variável de modelo com o mesmo nome.
Exemplo: continue com o exemplo anterior
%= tpl.parse (principal)%
Mostrar: Este é o modelo principal. Em seguida é o sub-templado sub-temão e {terceiro}
Como pode ser visto no exemplo, Parse substitui apenas as variáveis {sub} no modelo principal e não pode ser substituído de maneiras aninhadas. Isso foi projetado deliberadamente para aumentar a flexibilidade do programa. Então, como você exibe o modelo principal na íntegra?
exemplo:
tpl.sub = tpl.parse (sub); // primeiro processa a sub variável e depois processe a variável principal.
Resposta.write (tpl.parse (principal));
5. Personalizar variáveis de modelo.
Variáveis de personalização do modelo é simples, você pode usar diretamente as instruções de atribuição para definir e modificar qualquer variável:
exemplo:
tpl.hahaha = esta é uma variável personalizada;
tpl.Wird = Altere a terceira variável no modelo original;
Deve -se notar que, como o JScript é sensível ao caso, você deve prestar atenção à ortografia da parte superior e inferior. De um modo geral, as variáveis de modelo definidas nos modelos HTML estão em maiúsculas.
Além disso, as variáveis TPLPATH, carga, análise e divisão usadas no modelo são usadas internamente. Não os use também, caso contrário, o programa pode ter uma exceção.
Aqui está um exemplo completo:
Etapa 1: Crie o arquivo de modelo HTML primeiro.
Aqui, primeiro explicamos a composição do arquivo de modelo HTML. Primeiro de tudo, quase não é diferente dos arquivos HTML comuns, exceto que existem mais algumas tags.
Existem dois tipos de marcações para modelos. Vamos primeiro olhar para um exemplo:
Test.htm
-! Nome do arquivo: test.htm
Html
Exemplo de título/título
CABEÇALHO
/CABEÇALHO
CORPO
Este é um exemplo de tabela.
MESA
!#Tplendmaxx10! #Tplendmaxx
! ... Observe que um truque é usado aqui, que é definir a variável do modelo Maxx e atribuir o valor a 10.
Tr
Tdx/tdtdx squared/td
/Tr
! #Tpldefrow
Tr
Td {x}/tdtd {xx}/td
/Tr
! #Tplendrow
/MESA
Existem {contagem} linhas de dados acima.
/CORPO
/Html
-
Como pode ser visto no exposto, notações como {x}, {xx}, {count} são as variáveis do modelo de definição. Eles serão substituídos no programa ASP.
E! #Tpldefrow ...!#Tplendrow deve definir uma linha de bloco de declaração. Você pode repetir os blocos de linha várias vezes no programa ASP.
Etapa 2: projete o programa ASP.
Test.asp
-%@Idioma = jscript%
!#incluirfile = template.jscript.inc
%
Vartpl = newTemplate (c: // inetpub // wwwroot);
varstr =;
vari;
tpl.load (main, test.htm);
tpl.split (principal);
tpl.count = 0;
for (i = 1; i = tpl.maxx; i ++) // tpl.maxx é definido como 10 no modelo.
{
tpl.x = i;
tpl.xx = i*i;
str+= tpl.parse (linha);
tpl.count ++;
}
tpl.row = str;
tpl.maxx =; // Limpe esta variável de modelo para evitar ser exibida.
%
%= tpl.parse (principal)%
-
O programa acima exibirá uma tabela quadrada de 1 a 10.
Normalmente, ao usar modelos, basta adicionar uma instrução mostrando a página à última linha. Portanto, todo o programa parece muito claro. No momento, basta editar o arquivo de modelo para alterar a aparência de toda a página.
Quanto ao arquivo de modelo, pode ser qualquer arquivo, como arquivos HTML, arquivos ASP ou mesmo o próprio programa! E vários modelos podem ser carregados em um programa para trabalhar juntos, o que não apenas fornece grande flexibilidade, mas também minimiza a correlação entre o arquivo de modelo e o programa ASP.
Fazer bom uso de modelos tornará seu trabalho mais fácil.
Anexo: programa de origem de modelo
! Nome do arquivo: template.jscript.inc
%
/******************************************************
/*TemplateClass*/
/*Autor:*/
/*Data: 6-09*/
/******************************************************
// templatemethoddefine
functionTemplate_parse (nome)
{
if (este [nome] == null)
retornar;
varreg = newRegexp ({(// w*)}, ig);
varstr = newstring (este [nome]);
vararr = str.match (reg);
vari;
if (arr! = nulo)
for (i = 0; iarr.length; i ++)
{
chave = arr.slice (1, -1);
reg = newRegexp (arr, ig);
if (esta [chave]! = nula)
str = str.place (reg, esta [chave]);
}
returnstr;
}
functionTemplate_split (nome)
{
varlen = 0;
vararr;
if (este [nome] == null)
retornar;
Vartemplate_exp = newRegexp (!#tpldef+(// w*)*((. | // n)*)!#tplend+// 1*, i);
while (este [nome] .search (template_exp)! =-1)
{
arr = este [nome] .match (template_exp);
este [arr [1} = arr [2];
este [nome] = este [nome] .Rearplace (template_exp, {+arr [1]+});
this.split (arr [1]);
}
}
functionTemplate_load (nome, nome do arquivo)
{
varfso = newActivexObject (script.filesystemoBject);
varfile = fso.buildPath (this.tplpath, nome do arquivo);
if (fso.fileExists (arquivo))
{
varf = fso.opentExtFile (arquivo, 1);
este [nome] = f.readall ();
}
}
// TemplateConstructor
functionTemplate (caminho)
{
//Propriedade
this.tplPath = Path;
//Método
this.parse = template_parse;
this.split = template_split;
this.load = template_load;
}
%
Compartilhar: ASP Tutorial: Um exemplo simples de Ajax ASP Tutorial: Um exemplo simples sobre ajax index.asp: código do programa html head meta http-equiv = content-type content = text/html; charset = gb2312 /titleajax Aplicativo simples /idioma do script de título = javascript // crie xmlHttPrequest Object var request = false; tente {re