ASP.NET - Três dicas práticas.


Para você três dicas ASP.NET úteis :

1 - Salvando dados entre requisições de páginas

ASP.NET provê uma nova maneira de preservar a informação ( variáveis) entre as páginas sem ter que usar variáveis de sessão ou cookies. Estou falando da propriedade ViewState do objeto Page.

A propriedade ViewState representa o conteúdo do campo escondido - __VIEWSTATE - e funciona como um dicionário de estado com um par de chaves. Veja um exemplo usando esta propriedade para guardar o número de requisições da página atual :

Private Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Handles MyBase.Load

   'número de requisições para esta página postadas até agora

    Dim contador As Integer

    If not Me.ViewState("contador") Is Nothing Then

         contador = Cint(Me.ViewState("contador") + 1

   End If

    'guarda o valor no dicionário ViewState

    Me.ViewState("contador") =  contador

    'para exibir o valor podemos fazer

     label1.Text = contador.ToString

End Sub

Lembre-se que a propriedade ViewState só funciona se a propriedade EnableViewState for definida como True.

2- Usando o método MapPath

ASP.NET oferece o método MapPath do objeto Page  que converte um caminho virtual em um caminho físico. Ele é útil para você passar argumentos para objetos que não funcionam com caminhos virtuais.

Exemplo:

Dim var As New System.IO.StreamReader(Me.MapPath("/dados/texto.txt"))

Você pode usar este método para retornar informação sobre a aplicação ASP.NET atual:

'O diretório atual

Dim DirAtual As String = Me.MapPath(".")

'O diretório Pai

Dim DirPai As String = Me.MapPath("..")

'O diretório raiz

Dim raiz As String = Me.MapPath("/")

 

3- Enviando arquivos para o Navegador

ASP.NET possui um objeto Response mais poderoso com capacidade de enviar a saída para o navegador do cliente. Assim o método WriteFile pode enviar o conteúdo de um arquivo texto , XML , HTML para o Navegador. Podemos então usar este recurso usando arquivos para aplicar um estilo ou criar um menu , cabeçalho ou rodapé.

'Obtem o nome do documento requisitado

Dim caminho As String = Request.QueryString("documento") & ".txt"

'converte para um caminho físico

caminho = Request.MapPath(caminho)

If System.IO.File.Exists(caminho) then

    ' se o arquivo existe então envia para o navegador como HTML

     Response.Write("<HTML><BODY>")

     Response.Write("<H1>Aqui esta o documento que você requisitou</H1>")

     Response.WriteFile(caminho)

     Response.Write("<HTML><BODY>")

Else

     Response.Write("Documento não localizado")

Endif

Até a próxima dica ASP.NET...


José Carlos Macoratti