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:
Listagem.
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
Conclusões
A propriedade ViewState só funciona se a propriedade EnableViewState for definida como True.