ASP.NET Módulo 4 Objetivo Apresentar ao aluno os conceitos do ASP.Net, suas características e funcionamento; Demonstrar como deve ser criado um Web site; Criação de web form; Mostrar os principais controles Server controls e suas principais propriedades e métodos; 1
Agenda ASP.NET Aplicações Web O que é Para que Serve Arquitetura de Funcionamento Controles de Servidor(Web Forms e Web Controls) O que é Webform Code in Page x Code Behind Server Controls(Web Controls) Postback Agenda Validação User Controls 2
ASP.NET Aplicações Web Sistemas projetados para execução através de um navegador (internet, redes locais); Utilizam ciclos de requisição(cliente) /resposta(servidor) (request/response); Facilidade de atualização; Interatividade menor (comparada às aplicações desktop); ASP.NET Aplicações Web Podem utilizar balanceamento de carga; Aplicação naturalmente disponibilizada ao usuário Acessibilidade 3
ASP.NET Aplicações Web Requisição Resposta Servidor Cliente X M L Bancos De Dados Componentes ASP.NET O que é Tecnologia para construção de páginas dinâmicas; Evolução do ASP; Provê uma experiência de desenvolvimento similar ao desenvolvimento para desktop; Independente do browser ou Sistema Operacional do cliente; Independência de Linguagem; 4
ASP.NET Para que Serve Construir aplicações web; Suporte à construção e utilização de Web Services XML; Criação de páginas dinâmicas; ASP.NET Arquitetura de Funcionamento Usuário solicita página (via HTTP Get); Após o processamento da página (Page_Load), a página é retornada ao Usuário; Para o usuário, é similar a qualquer outra página O usuário pode então ir para outra página ou submeter a página atual (um botão, um evento que atualize a página); 5
ASP.NET O submit via Post ocorre (via HTTP POST); A página sofre post para ela mesma (Postback); O Servidor ASP.NET irá executar a página novamente; A Página então executa o processamento que foi instruído a fazer; A Página é devolvida ao solicitante; ASP.NET Servidor Web ASP.NET Clientes Internet Output Cache Page1. aspx Page2. aspx Codebehind (optional) Web Forms global. asax Web. config machine. config Web Services XML Dados Componentes 6
Controles de Servidor O que é Web Form Formulário Web construído a partir de uma página ASP.NET Como toda página ASP.NET, possui suporte do Framework.NET Controles de Servidor Exemplo prático D:\Professores\Inacio_Ferrarini\Exemplos\Mo dulo4\website1 7
Controles de Servidor Code in Page x Code Behind Code in Page O código está localizado fisicamente no mesmo arquivo.aspx; Gera um arquivo.aspx maior do que o necessário; Mistura da camada de apresentação com a camada de controle; Pode criar uma página complexa de ser mantida. Controles de Servidor Code in Page x Code Behind Code Behind O código está localizado fisicamente em outro arquivo (.aspx.cs); Separa apresentação de lógica de controle; 8
Controles de Servidor Server Controls (Web Controls) São executados no Servidor; Requer runat="server ; São renderizados como componentes html equivalentes; Controles de Servidor Exemplo prático D:\Professores\Inacio_Ferrarini\Exemplos\Mo dulo4\website2 9
Postback Ciclo no qual a página é enviada ao servidor para processamento; O resultado do processamento, por padrão é enviado à página que originou o post; Uso comum Submit; Validações; Código que será executado pelo servidor; Controles de Servidor Exemplo prático D:\Professores\Inacio_Ferrarini\Exemplos\Mo dulo4\website3 10
Validação Verifica se os dados informados são válidos; Impede que o formulário seja enviando enquanto houver erros no formulário; Devem ser desabilitada para um submit de cancelar ou mudança de página; Validação RequiredFieldValidator Valida se um campo foi preenchido ControlToValidate: controle a ser validado; Enabled: se a validação irá ocorrer ou não; ErrorMessage: Mensagem que será exibida no sumário caso a validação falhe; Text: Mensagem que será exibida onde o validador está caso a validação falhe; 11
Validação RegularExpressionValidator Valida se um campo atende à Expressão Regular Especificada; ControlToValidate: controle a ser validado; Enabled: se a validação irá ocorrer ou não; ErrorMessage: Mensagem que será exibida no sumário caso a validação falhe; Text: Mensagem que será exibida onde o validador está caso a validação falhe; ValidationExpression: A Expressão Regular Validação CustomValidator Validação Personalizada; ControlToValidate: controle a ser validado; Enabled: se a validação irá ocorrer ou não; ErrorMessage: Mensagem que será exibida no sumário caso a validação falhe; Text: Mensagem que será exibida onde o validador está caso a validação falhe; ClientValidationFunction: Função de validação que será utilizada; ValidateEmptyText: Se a validação deve ocorrer caso o text do controle esteja em branco; 12
Validação RangeValidator Valida se um campo está entre o intervalo informado; ControlToValidate: controle a ser validado; Enabled: se a validação irá ocorrer ou não; ErrorMessage: Mensagem que será exibida no sumário caso a validação falhe; Text: Mensagem que será exibida onde o validador está caso a validação falhe; MinimumValue: Início do Intervalo MaximumValue: Fim do Intervalo Validação CompareValidator Valida através de comparação; Deve-se especificar qual comparação será efetuada; Pode comparar a um outro campo ou a um valor fixo; ControlToValidate: controle a ser validado; Enabled: se a validação irá ocorrer ou não; ErrorMessage: Mensagem que será exibida no sumário caso a validação falhe; Text: Mensagem que será exibida onde o validador está caso a validação falhe; Operator: Operador que será utilizado para comparar; ControlToCompare: controle para comparar; ValueToCompare: valor para comparar. 13
Validação ValidationSummary Exibe o sumário (resumo) dos erros ocorridos Permite organizar as informações de erro Validação Exemplo prático D:\Professores\Inacio_Ferrarini\Exemplos\Mo dulo4\website4 D:\Professores\Inacio_Ferrarini\Exemplos\Mo dulo4\website5 14
User Controls Conceitos Componentes criados pelo usuário; Possibilita reuso de funcionalidades comuns; Permitem que componentes complexos sejam criados e reutilizados; Ex: Componentes que admitem validação de CPF, RG, etc; User Controls Criando um User Control Clique com o botão direito sobre o nome do WebSite onde o componente será criado; Add New Item... Web User Control Em seguida será exibida a tela de edição para Web User Control criado. É possível incluir componentes da mesma forma feita até agora; 15
User Controls Expondo Propriedades do User Control Propriedades são criadas da mesma forma Para que seja acessível, ela deve ser pública Exemplo prático D:\Professores\Inacio_Ferrarini\Exemplos\Mo dulo4\website6 User Controls Encapsulando eventos Os eventos são associados ao componente normalmente Exemplo prático D:\Professores\Inacio_Ferrarini\Exemplos\Mo dulo4\website7 16
Gerenciamento de Estado A Utilização de formulários web permite manipular informações; Estas informações serão utilizadas e processadas durante o ciclo requestresponse; Porém, como esta informação é mantida? Gerenciamento de Estado Um dos componentes da página se chama ViewState. Responsável por armazenar as propriedades dos componentes da página entre os ciclos de request / response; Pode ser desativada pelo desenvolvedor; Utilizada por padrão; Efeito de que a página lembra o valor que os campos possuíam; 17
Gerenciamento de Estado Os componentes ASP.NET possuem um controle interno, chamado ControlState, responsável por manter o estado do componente. Ex: Um controle de abas saber qual era a aba selecionada antes para que ela seja selecionada novamente Gerenciamento de Estado ViewState possui como escopo apenas a própria página; ControlState possui como escopo apenas o controle que o contém; O que fazer no caso onde uma propriedade deve ser utilizada por todas as páginas acessadas por um mesmo usuário? 18
Gerenciamento de Estado Estes dados podem ser mantidos através do objeto Sessão e do objeto Aplicação O escopo sessão é utilizado para cada usuário. Quando a sessão expira, os dados da sessão serão removidos junto com ela. O escopo aplicação é utilizado para todos os usuários que estejam utilizando a aplicação naquele momento Gerenciamento de Estado Todos os objetos ASP.NET (incluindo página) possuem acesso a estes objetos. Exemplo prático D:\Professores\Inacio_Ferrarini\Exemplos\Mo dulo4\website8 19