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