SlideShare uma empresa Scribd logo
1 de 23
Baixar para ler offline
Programação
Web I
Professora: Ana Paula Citro Fujarra Rodrigues
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=“/>
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.
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
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:
View State em ASP.NET
Exemplo: Fazer um contador que incremente uma variável quando
um botão for clicado.
View State em ASP.NET
Outro código para o mesmo exemplo.
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
Session em ASP.NET
Lendo o
conteúdo de
variáveis de
sessão
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.
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.
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.
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.
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
Validações em ASP.NET
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.
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.
Validações em ASP.NET

Propriedades:
ErrorMessage, Text,
ControlToValidate: idem ao
anterior.
ValidationExpression: informa a
expressão que será verificada na
validação.
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.
Validações em ASP.NET

Propriedade:
DisplayMode: modo como será
exibidas as mensagens de erro.
Validações em ASP.NET
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#).
Validações em ASP.NET
Propriedade CausesValidation é usada para desativar a
validação em um controle. Defina a propriedade como false.

Mais conteúdo relacionado

Mais procurados

Aula 1 - curso java web - JSP Java Server Page
Aula 1 - curso java web - JSP Java Server PageAula 1 - curso java web - JSP Java Server Page
Aula 1 - curso java web - JSP Java Server PageEvandro Júnior
 
Criando componentes interativos em páginas AMP com amp-bind
Criando componentes interativos em páginas AMP com amp-bindCriando componentes interativos em páginas AMP com amp-bind
Criando componentes interativos em páginas AMP com amp-bindMurilo Siqueira Ferreira
 
Novidades do Django 1.2
Novidades do Django 1.2Novidades do Django 1.2
Novidades do Django 1.2flavioamieiro
 
Engenharia da Computação: Resumo servlet + jsp br galo
Engenharia da Computação: Resumo servlet + jsp br galoEngenharia da Computação: Resumo servlet + jsp br galo
Engenharia da Computação: Resumo servlet + jsp br galoGuilhermePetrosky
 

Mais procurados (8)

Aula 1 - curso java web - JSP Java Server Page
Aula 1 - curso java web - JSP Java Server PageAula 1 - curso java web - JSP Java Server Page
Aula 1 - curso java web - JSP Java Server Page
 
Revisão html e java script
Revisão html e java scriptRevisão html e java script
Revisão html e java script
 
Criando componentes interativos em páginas AMP com amp-bind
Criando componentes interativos em páginas AMP com amp-bindCriando componentes interativos em páginas AMP com amp-bind
Criando componentes interativos em páginas AMP com amp-bind
 
Servlets e JSP
Servlets e JSPServlets e JSP
Servlets e JSP
 
Novidades do Django 1.2
Novidades do Django 1.2Novidades do Django 1.2
Novidades do Django 1.2
 
Engenharia da Computação: Resumo servlet + jsp br galo
Engenharia da Computação: Resumo servlet + jsp br galoEngenharia da Computação: Resumo servlet + jsp br galo
Engenharia da Computação: Resumo servlet + jsp br galo
 
ASP.NET Profile
ASP.NET ProfileASP.NET Profile
ASP.NET Profile
 
Ajaxificando
AjaxificandoAjaxificando
Ajaxificando
 

Semelhante a View State e Validações em ASP.NET

Aula 01 web server controls
Aula 01   web server controlsAula 01   web server controls
Aula 01 web server controlsGabriel Bugano
 
Asp tutorial asp
Asp   tutorial aspAsp   tutorial asp
Asp tutorial asprobinhoct
 
Java Web - MVC básico com JSP e Servlets
Java Web - MVC básico com JSP e ServletsJava Web - MVC básico com JSP e Servlets
Java Web - MVC básico com JSP e ServletsEduardo Mendes
 
[CLPE] Novidades do Asp.net mvc 2
[CLPE] Novidades do Asp.net mvc 2[CLPE] Novidades do Asp.net mvc 2
[CLPE] Novidades do Asp.net mvc 2Felipe Pimentel
 
Spring Security e Spring Boot Aula - 2018
Spring Security e Spring Boot Aula - 2018Spring Security e Spring Boot Aula - 2018
Spring Security e Spring Boot Aula - 2018André Luiz Forchesatto
 
Programação Web com Zend Framework e Ajax com Dojo
Programação Web com Zend Framework e Ajax com DojoProgramação Web com Zend Framework e Ajax com Dojo
Programação Web com Zend Framework e Ajax com Dojofabioginzel
 
PDC - Engenharia - Plataforma Microsoft .NET
PDC - Engenharia - Plataforma Microsoft .NETPDC - Engenharia - Plataforma Microsoft .NET
PDC - Engenharia - Plataforma Microsoft .NETslides_teltools
 
ASP.NET MVC - Alexandre Tarifa
ASP.NET MVC - Alexandre TarifaASP.NET MVC - Alexandre Tarifa
ASP.NET MVC - Alexandre Tarifaguestea329c
 
Produtividade com JavaServer Faces
Produtividade com JavaServer FacesProdutividade com JavaServer Faces
Produtividade com JavaServer FacesEduardo Bregaida
 
02 - Fundamentos de Servlets
02 - Fundamentos de Servlets02 - Fundamentos de Servlets
02 - Fundamentos de ServletsMarcio Marinho
 
Faça Sucesso Desenvolvendo com ASP.NET 4, ASP NET MVC e Visual Studio 2010
Faça Sucesso Desenvolvendo com ASP.NET 4, ASP NET MVC e Visual Studio 2010Faça Sucesso Desenvolvendo com ASP.NET 4, ASP NET MVC e Visual Studio 2010
Faça Sucesso Desenvolvendo com ASP.NET 4, ASP NET MVC e Visual Studio 2010Rodrigo Kono
 
Rapid Application Development com Tapestry 5
Rapid Application Development com Tapestry 5Rapid Application Development com Tapestry 5
Rapid Application Development com Tapestry 5Marcelo Rodrigues
 

Semelhante a View State e Validações em ASP.NET (20)

Aula 01 web server controls
Aula 01   web server controlsAula 01   web server controls
Aula 01 web server controls
 
Programação asp
Programação aspProgramação asp
Programação asp
 
Asp tutorial asp
Asp   tutorial aspAsp   tutorial asp
Asp tutorial asp
 
Java Web - MVC básico com JSP e Servlets
Java Web - MVC básico com JSP e ServletsJava Web - MVC básico com JSP e Servlets
Java Web - MVC básico com JSP e Servlets
 
[CLPE] Novidades do Asp.net mvc 2
[CLPE] Novidades do Asp.net mvc 2[CLPE] Novidades do Asp.net mvc 2
[CLPE] Novidades do Asp.net mvc 2
 
Spring Security e Spring Boot Aula - 2018
Spring Security e Spring Boot Aula - 2018Spring Security e Spring Boot Aula - 2018
Spring Security e Spring Boot Aula - 2018
 
ASP.NET AJAX
ASP.NET AJAXASP.NET AJAX
ASP.NET AJAX
 
Programação Web com Zend Framework e Ajax com Dojo
Programação Web com Zend Framework e Ajax com DojoProgramação Web com Zend Framework e Ajax com Dojo
Programação Web com Zend Framework e Ajax com Dojo
 
PDC - Engenharia - Plataforma Microsoft .NET
PDC - Engenharia - Plataforma Microsoft .NETPDC - Engenharia - Plataforma Microsoft .NET
PDC - Engenharia - Plataforma Microsoft .NET
 
ApresentaçãO Mvc
ApresentaçãO MvcApresentaçãO Mvc
ApresentaçãO Mvc
 
Apresentação M V C
Apresentação M V CApresentação M V C
Apresentação M V C
 
Sessões
SessõesSessões
Sessões
 
Aula parte 2 de JSF 2.2
Aula parte 2 de JSF 2.2Aula parte 2 de JSF 2.2
Aula parte 2 de JSF 2.2
 
ASP.NET MVC - Alexandre Tarifa
ASP.NET MVC - Alexandre TarifaASP.NET MVC - Alexandre Tarifa
ASP.NET MVC - Alexandre Tarifa
 
ASP.NET MVC
ASP.NET MVCASP.NET MVC
ASP.NET MVC
 
Produtividade com JavaServer Faces
Produtividade com JavaServer FacesProdutividade com JavaServer Faces
Produtividade com JavaServer Faces
 
02 - Fundamentos de Servlets
02 - Fundamentos de Servlets02 - Fundamentos de Servlets
02 - Fundamentos de Servlets
 
Faça Sucesso Desenvolvendo com ASP.NET 4, ASP NET MVC e Visual Studio 2010
Faça Sucesso Desenvolvendo com ASP.NET 4, ASP NET MVC e Visual Studio 2010Faça Sucesso Desenvolvendo com ASP.NET 4, ASP NET MVC e Visual Studio 2010
Faça Sucesso Desenvolvendo com ASP.NET 4, ASP NET MVC e Visual Studio 2010
 
Rapid Application Development com Tapestry 5
Rapid Application Development com Tapestry 5Rapid Application Development com Tapestry 5
Rapid Application Development com Tapestry 5
 
Wicket 2008
Wicket 2008Wicket 2008
Wicket 2008
 

Mais de Gabriel Bugano

Aula 06 banco de dados em asp.net (lado cliente)
Aula 06   banco de dados em asp.net (lado cliente)Aula 06   banco de dados em asp.net (lado cliente)
Aula 06 banco de dados em asp.net (lado cliente)Gabriel Bugano
 
Aula 04 banco de dados em asp.net (site do administrador)
Aula 04   banco de dados em asp.net (site do administrador)Aula 04   banco de dados em asp.net (site do administrador)
Aula 04 banco de dados em asp.net (site do administrador)Gabriel Bugano
 
Aula 03 banco de dados em asp.net (cadastrar)
Aula 03   banco de dados em asp.net (cadastrar)Aula 03   banco de dados em asp.net (cadastrar)
Aula 03 banco de dados em asp.net (cadastrar)Gabriel Bugano
 
Aula 03 asp.net com fk - grid view - excluir e alterar
Aula 03   asp.net com fk - grid view - excluir e alterarAula 03   asp.net com fk - grid view - excluir e alterar
Aula 03 asp.net com fk - grid view - excluir e alterarGabriel Bugano
 
Aula 02 asp.net com fk - pesquisa com filtro
Aula 02   asp.net com fk - pesquisa com filtroAula 02   asp.net com fk - pesquisa com filtro
Aula 02 asp.net com fk - pesquisa com filtroGabriel Bugano
 
Aula 01 asp.net com fk
Aula 01   asp.net com fkAula 01   asp.net com fk
Aula 01 asp.net com fkGabriel Bugano
 
Aula 05 banco de dados em asp.net (site do administrador - alterar e excluir)
Aula 05   banco de dados em asp.net (site do administrador - alterar e excluir)Aula 05   banco de dados em asp.net (site do administrador - alterar e excluir)
Aula 05 banco de dados em asp.net (site do administrador - alterar e excluir)Gabriel Bugano
 

Mais de Gabriel Bugano (7)

Aula 06 banco de dados em asp.net (lado cliente)
Aula 06   banco de dados em asp.net (lado cliente)Aula 06   banco de dados em asp.net (lado cliente)
Aula 06 banco de dados em asp.net (lado cliente)
 
Aula 04 banco de dados em asp.net (site do administrador)
Aula 04   banco de dados em asp.net (site do administrador)Aula 04   banco de dados em asp.net (site do administrador)
Aula 04 banco de dados em asp.net (site do administrador)
 
Aula 03 banco de dados em asp.net (cadastrar)
Aula 03   banco de dados em asp.net (cadastrar)Aula 03   banco de dados em asp.net (cadastrar)
Aula 03 banco de dados em asp.net (cadastrar)
 
Aula 03 asp.net com fk - grid view - excluir e alterar
Aula 03   asp.net com fk - grid view - excluir e alterarAula 03   asp.net com fk - grid view - excluir e alterar
Aula 03 asp.net com fk - grid view - excluir e alterar
 
Aula 02 asp.net com fk - pesquisa com filtro
Aula 02   asp.net com fk - pesquisa com filtroAula 02   asp.net com fk - pesquisa com filtro
Aula 02 asp.net com fk - pesquisa com filtro
 
Aula 01 asp.net com fk
Aula 01   asp.net com fkAula 01   asp.net com fk
Aula 01 asp.net com fk
 
Aula 05 banco de dados em asp.net (site do administrador - alterar e excluir)
Aula 05   banco de dados em asp.net (site do administrador - alterar e excluir)Aula 05   banco de dados em asp.net (site do administrador - alterar e excluir)
Aula 05 banco de dados em asp.net (site do administrador - alterar e excluir)
 

View State e Validações em ASP.NET

  • 1. Programação Web I Professora: Ana Paula Citro Fujarra Rodrigues
  • 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
  • 9. Session em ASP.NET Lendo o conteúdo de variáveis de 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.
  • 18. Validações em ASP.NET Propriedades: ErrorMessage, Text, ControlToValidate: idem ao anterior. ValidationExpression: informa a expressão que será verificada na validação.
  • 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.
  • 20. Validações em ASP.NET Propriedade: DisplayMode: modo como será exibidas as mensagens de erro.
  • 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.