Sexta, 26 de Abril de 2024




 Padronização de Página ASP

O Texto abaixo contém várias dicas visando implementar um modelo básico de Página ASP, que facilite a depuração e testes, além de obter um bom resultado do código.


Divisão em Blocos:

Uma página bem montada é dividida em blocos distintos, de forma que se pode encontrar um código dentro da mesma facilmente. Sugerimos aqui uma divisão básica:


Cabeçalho:

Normalmente iniciado com a tag de definição da linguagem, seguida pelos arquivos de include do tipo biblioteca (que podem ser incluídos no início do arquivo) e por um comentário que defina a página, como no exemplo abaixo:

<%@ LANGUAGE = "VBSCRIPT" %>
<!--#include file="includes/funcoes.asp"-->
<!--#include file="includes/funcoes_bd.asp"-->
<%

' *******************************************************************
' Arquivo: Modelo.asp
' Versão: V1.0
' Data: Ago/2003
' Origem: CJDinfo
' Função: Exemplificar uma página ASP
' *******************************************************************


Definições de Constantes e Variáveis de Página:

Em seguida costuma-se definir as Constantes e as Variáveis que a página precisar.

Lembre-se que as variáveis definidas aqui existem durante a geração da página.

É aconselhável acrescentar comentários que defina para que serve cada item criado, bem como os valores que eles podem assumir, se for o caso. Isso facilitará muito as manutenções futuras. Segue o exemplo:

' =========================< CONSTANTES >============================

' Cores permitidas no Menu
Const cCorAzul = "#0000FF" ' Azul Forte
Const cCorVerde = "#66CCCC" ' Verde Claro
Const cCorGarrafa = "#006666" ' Verde Escuro


' ==========================< VARIÁVEIS >============================

' Carrega a Cor do Menu, conforme constantes acima:
dim CorMenu


Definições das Funções Locais:

No Bloco seguinte define-se as funções de uso local da página.

Note que a melhor prática é dividir o processamento em funções pequenas, com variáveis internas, ao invés de deixar o processamento todo esparramado na página, com variáveis globais.

Este tipo de variável deve ser utilizado somente para valores que devem ser vistos por todas funções e em toda a página. A idéia é semelhante a utilização de variáveis globais em programas de qualquer outra linguagem ou plataforma.

Cabe aqui ressaltar que, apesar de não ser necessário, é de bom uso definir as variáveis antes de usá-las em qualquer escopo (função ou global).

No exemplo abaixo a parte de execução na página (Principal) dispara apenas uma função que executa todo o processamento inicial:

' ===========================< ROTINAS >=============================

' -------------------------------------------------------------------
' Principal
'
' -------------------------------------------------------------------
    CarregaParametros()
' -------------------------------------------------------------------
' CarregaParametros
' Carrega os parametros nas variáveis:
' -------------------------------------------------------------------
sub CarregaParametros()
    dim oRs, s

    AbreBD ' (Sub-rotina do include que abre conexão com BD)

    CorMenu = ""
    s = "SELECT * FROM tbConfig"
    set oRs = oCn.Execute(s)
    if Not oRs.EOF then
      CorMenu = trim(oRs("CorMenu"))
    end if
    oRs.Close
    set oRs = Nothing
end sub

' -------------------------------------------------------------------
' Carrega o Combo de Estados a partir do Banco de Dados:
'
' -------------------------------------------------------------------
sub CargaCboEstado()
    dim oRs, s

    s = "SELECT * FROM tbEstado"
    set oRs = oCn.Execute(s)
    while not oRs.EOF
      s = "<option value='" & oRs("Codigo") & "'>"
      s = s & trim(oRs("Descricao")) & "</option>"
      Response.write s
      oRs.MoveNext
    wend
    oRs.close
    set oRs = Nothing
end sub

%>


Bloco HTML:

Em seguida define-se o conteúdo HTML da página. Note que uma página HTML bem formada contém as TAGs HTML, HEAD, TITLE, /TITLE, /HEAD, BODY, FORM, INPUTs, /FORM, /BODY e /HTML, conforme o exemplo abaixo.

O melhor lugar para definir o Código SCRIPT da página é dentro das TAGs de HEAD e /HEAD. Claro que as execuções especiais deverão ser feitas em outros pontos da página, tal como o exemplo de limpeza de Radio Buttons na publicação de Radio e Check Button.

<HTML>
<HEAD>
<TITLE>Página Modelo</TITLE>
<SCRIPT Language="JavaScript" src="includes/funcoes.js">
<SCRIPT Language="JavaScript">
function SelClose(){
  window.close();
}
</SCRIPT>
</HEAD>

<BODY TOPMARGIN="0" LEFTMARGIN="0" MARGINWIDTH="0" MARGINHEIGHT="0">
 <FORM NAME="FORM">

  <INPUT TYPE="HIDDEN" NAME="Teste">

  <!-- Núcleo da Página . . . -->

 </FORM>
</BODY>
</HTML>


Núcleo da Página:

Para o Núcleo da página, que irá montar a parte visível da mesma, cabe alguns comentários:

Evite montar o código ASP misto com código HTML. Prefira colocar chamadas a funções ou subrotinas. Estas ficarão definidas na área específica (já citada) e conterão a formação do código desejado.

Isso evita que a página se torne uma imensa lista parte HTML, parte ASP, o que dificulta (e muito) a manutenção futura.

Use, no máximo, comandos IF para fazer apresentação condicional de código.

No exemplo abaixo podemos ver uma chamada de função de Carga de Combo a partir de Banco de Dados.

A função foi definida no bloco de Funções Locais, listado acima, usando uma Solução do nosso site.

Veja como o código fica leve. Imagine se todo o código ASP estivesse no meio.

    ( ... )

    <select name="cboEstado">
     <option value=""></option>
     <% CargaCboEstado() %>
    </select>

    ( ... )

Rodapé

Este é um item fundamental, principalmente se estiver trabalhando com Banco de Dados.

Coloque uma parte ASP chamando um função de fechamento da Conexão com o Banco de Dados e destruição (set Var = Nothing) dos objetos abertos.


¤ Links Relacionados:
- Consulta Paginada em ASP