2. View State em ASP.NET
1 – View State
View State é o metodo padrão usado pelo ASP.NET para
preservar valores de páginas e controles entre requisições. Quando a
página ASP.NET é carregada no browser, o código HTML resultante
contém um campo oculto com uma string codificada como base64.
Exemplo:
<input type=“hidden” name=”_VIEWSTATE” id=“_VIEWSTATE”
value=“wEPDwUKMTIxNDIyOTMOMmRkZfHwakhgxv7xU6icFDKQ5ox6VI=“/>
3. View State em ASP.NET
Tipos de dados que podem ser armazenados num view state:
• Strings
• Inteiros
• Valores Booleanos
• Objetos Array
• Objetos ArrayList
• Objetos Hashtable
É possível armazenar outros tipos, desde que estejam serializados, ou
seja, a classe compilada precisa ser marcada com o atributo
Serializable.
4. View State em ASP.NET
Os web server controls usam a propriedade EnableViewState para
preservar valores entre requisições HTTP. Para aumentar a performance da
aplicação web, devemos definir a propriedade EnableViewState como
true somente quando estritamente necessário.
1.1 – Gravar Valores com View State
Num view state devem ser armazenadas informações que precisam ser
preservadas entre requisições. Quando o usuário seleciona um item num
controle CheckBox e clica num botão de comando, por exemplo, a página é
recarregada, mas o valor selecionado é preservado.
ou
5. View State em ASP.NET
OBS.: As informações de um view state são armazenadas num
campo oculto, por isso podem ser alteradas ou falsificadas por
um usuário mal-intencionado. Não armazene informações
sigilosas.
1.2 – Lendo valores de um view state
Ler o valor armazenado é simples e fácil, mas é necessário
realizar uma conversão explícita. Exemplo:
6. View State em ASP.NET
Exemplo: Fazer um contador que incremente uma variável quando
um botão for clicado.
7. View State em ASP.NET
Outro código para o mesmo exemplo.
8. Session em ASP.NET
As variáveis de sessão armazenam, por padrão, o seu conteúdo na
memória do servidor web, mas é possível definir um servidor
próprio ou o SQL Server para esta função.
O estado de sessão do ASP.NET armazena e recupera informações
sobre a navegação do usuário nas páginas de uma aplicação web. O
estado da sessão é manipulado com variáveis de sessão.
Uma variável de sessão possui valores únicos e acessíveis apenas
para um determinado usuário.
Nome da
variável
Conteúdo da
variável
Armazenando
variáveis em uma
sessão
10. Session em ASP.NET
Quando acessamos um web site, uma nova sessão é criada, e o
usuário recebe um identificador de sessão único. Este identificador
é transmitido entre o browser e o servidor na forma de cookie ou é
anexado à URL do web site. Por padrão é armazenado e transmitido
na forma de cookie.
Uma sessão é única e é utilizada para restringir informações entre
usuários.
O identificador de sessão pode ser lido com a propriedade
SessioID.
11. Session em ASP.NET
Para anexar o identificador de sessão à URL do web site, devemos
alterar o arquivo web.config da aplicação. O atributo
cookieless da seção sessionState deve ser true.
12. Session em ASP.NET
Esta abordagem deve ser evitada, ou seja, devemos armazenar o
identificador de sessão num cookie. Quando o identificador de
sessão é armazenado na URL, é possível ter acesso a informações
de outro usuário, por exemplo, com um mecanismo de busca.
O atributo regenerateExpiredSessionId tenta minimizar este
problema criando um novo identificador que já expirou. Por padrão
o atributo cookieless é falso em todas as aplicações ASP.NET.
13. Session em ASP.NET
O tempo máximo de uma sessão é de 20 minutos. O tempo máximo
de cada sessão pode ser definido pela propriedade Timeout. O
valor é definido em minutos e deve ser no máximo 525.600 minutos
(1 ano)
Para encerrar imediatamente uma sessão e criar uma nova, use o
método Abandon.
14. Validações em ASP.NET
Controles de validação podem ser usados para validar a entrada
dada pelo usuário em um formulário da Web.
Comparando Valores
Comparando Valores (BD)
Intervalo de Valores
Expressões Regulares
Campos Obrigatórios
Exibir Mensagens Centralizadas
16. Validações em ASP.NET
Propriedades:
ErrorMessage: utilizada para a
mensagem de Erro, esta irá
aparecer no ValidationSummary.
Text: utilizada para a informação
que ficará em frente ao objeto
validado.
ControlToValidate: utilizada para
informar qual o objeto que será
validado.
17. Validações em ASP.NET
Propriedades:
ErrorMessage, Text,
ControlToValidate: idem ao
anterior.
MaximumValue e
MinimumValue: informar o
valores do intervalo a ser validado.
Type: tipo da informação que será
validada.
19. Validações em ASP.NET
Propriedades:
ErrorMessage, Text,
ControlToValidate: idem ao
anterior.
ControlToCompare: informa o
objeto que será comparado com o
objeto do ControlToValidate.
Operator: operador para a
comparação.
22. Validações em ASP.NET
Propriedade ValidationGroup é usada para criar grupos de
validações, de modo que cada grupo realize validações
independentes de outros grupos. Defina a propriedade com o nome
do grupo a que pertence.
Propriedade Display é usada para controlar como a mensagem de
erro aparece no browser. None – aparece somente no
ValidationSummary; Static – layout fixo; Dynamic – exibida
de forma dinâmica (via código C#).
23. Validações em ASP.NET
Propriedade CausesValidation é usada para desativar a
validação em um controle. Defina a propriedade como false.