Compartilhar via


Introdução a páginas da Web do ASP.NET

Páginas da Web do ASP.NET permitem que sejam criados conteúdos dinâmicos para seu site da Web.Com uma página de HTML estático (arquivo.htm ou.html), o servidor atende uma solicitação Web por ler o arquivo e enviá-lo como ele é para o navegador.Por outro lado, quando alguém solicita um página da Web do ASP.NET (arquivo.aspx), a página é executada como um programa no servidor Web.Enquanto a página estiver sendo executada, ele pode executar qualquer tarefa que seu site da Web requerer, inclusive calcular valores, leitura ou gravação de informações no banco de dados, ou chamada de outros programas.Como sua saída, a página dinamicamente produz marcação (elementos em HTML ou outra linguagem de marcação) e envia essa saída dinâmica para o navegador.

Este tópico fornece uma visão geral sobre as características fundamentais de como páginas da Web do ASP.NET funcionam em aplicativos da Web.

Postbacks e Round Trips

Páginas ASP.NET executam como código no servidor.Portanto, para a página ser processada, a página é configurada para enviar para o servidor quando os usuários clicarem em botões (ou opcionalmente, quando os usuários marcarem caixas ou interagir com outros controles da página).Cada vez, a página é enviada de volta a si mesma para que ela possa executar seu código de servidor novamente e depois processar uma nova versão de si própria para o usuário.

O ciclo de processamento para um página da Web do ASP.NET é:

  1. O usuário solicita a página.(A página é solicitada usando um método HTTP GET). A página executa pela primeira vez, executando processamentos preliminares se você tiver programado-a para fazer isso.

  2. A página dinamicamente processa a marcação para o navegador, que o usuário vê como uma página da Web semelhante a qualquer outra página.

  3. O usuário digita informações ou seleciona a partir das opções disponíveis e clica em um botão.(Se os usuários clicarem em um link em vez de um botão, simplesmente a página pode ser redirecionada para outra página, e não ocorre mais processamento na primeira página.)

  4. A página é remetida para o servidor Web.(O navegador executa um método HTTP POST, que no ASP.NET é conhecido como um postback). Especificamente, a página é remetida de volta a si mesma.Por exemplo, se o usuário que estiver trabalhando com a página Default.aspx clicar em um botão na página , a página a remete de volta para o servidor com um destino de Default.aspx.

  5. No servidor Web, a página executa novamente.As informações que o usuário digitou ou selecionou estão disponíveis para a página.

  6. A página executa o processamento que você a tiver programado para fazer.

  7. A página processa ela mesma de volta para o navegador.

Esse ciclo continua, enquanto o usuário estiver trabalhando na página.Cada vez que um botão é clicado, a informação na página é remetida para o servidor Web e a página é executada novamente.Cada ciclo é conhecido como um round trip(processamento).Como o processamento da página ocorre no servidor Web, cada ação que pode fazer a página requer um round trip para o servidor.

Observação:

Uma página da Web do ASP.NET pode executar scripts de cliente, o que não requer um round trip para o servidor, e que é útil para validação de entrada de usuário e para alguns tipos de interface de programação.Para obter mais informações, consulte Script de Cliente em Páginas da Web ASP.NET.

Postagem cruzada de páginas

Em algumas circunstâncias, você pode querer que uma página poste para uma página diferente, não a si própria.Isso é chamado de da cross-page posting(postagem cruzada de página).Por exemplo, você pode ir criando uma série de páginas que processam um pedido do cliente.Cada página pode enviar para a próxima página na sequência.Para obter mais informações, consulte Postagem entre Páginas em Páginas da Web do ASP.NET.

Vida útil da página

Diferente de formulários em aplicativos desktop, uma página da Web do ASP.NET não inicializada, executa enquanto o usuário trabalha com o formulário, e depois descarrega somente quando o usuário clicar um botão Close (fechar).Isso ocorre porque a Web está desconectada inerentemente.Quando um navegador solicita uma página de um servidor Web, o navegador e o servidor estão conectados somente durante tempo suficiente para processar a solicitação.Depois que o servidor Web tenha processado uma página para o navegador, a conexão é encerrada.Se o navegador fizer outra solicitação para o mesmo servidor Web, mesmo para a mesma página, a solicitação será processada como uma nova solicitação.

A natureza desconectada da Web determina a maneira que uma página ASP.NET executa.Quando um usuário solicita uma página da Web do ASP.NET, uma nova instância da página é criada.A página executa seu processamento, processa a marcação para o navegador, e é descartada.Se o usuário clica em um botão para executar uma nova postagem, uma nova instância da página é criada, a página executa seu processamento, e novamente será descartada.Assim, cada nova postagem e round trip resulta em uma nova instância da página.

Para obter mais informações, consulte Criando Páginas da Web ASP.NET.

Preservando o estado da página

No protocolo normal HTTP, a única informação que o servidor tem sobre uma página é a informação que o usuário especificou usando controles na página, porque o navegador envia somente essas informações para o servidor quando a página é postada.Outras informações, tais como valores de variável e definições de propriedade, são descartadas.ASP.NET ajuda a preservar outras informações de página das seguintes maneiras:

  • ASP.NET salva as configurações de controle (propriedades) entre round trips, que é chamada de salvar o estado de controle.

  • O ASP.NET fornece recursos de gerenciamento de estado para que você possa salvar suas próprias variáveis e informações específicas do aplicativo ou informações específicas de sessão entre as round trips.

  • ASP.NET pode detectar quando uma página é solicitada pela primeira vez e quando a página é enviada, o que lhe permite programar adequadamente.Por exemplo, você talvez queira ler informações de um banco de dados na primeira vez que uma página é exibida, mas não em cada novo postback.

    Observação:

    O servidor pode ser configurado para guardar informações de página para otimizar as páginas, mas para fins de programação de aplicativos, é melhor pensar em páginas como sendo descartadas assim que o servidor terminar seu processamento.

Para obter mais informações, consulte Visão Geral sobre o Gerenciamento de Estado do ASP.NET.

Programando páginas da Web ASP.NET

Você pode criar o código de servidor para suas páginas da Web ASP.NET usando uma variedade de idiomas no.NET Framework, incluindo Visual Basic, C#, e J#.As páginas da Web ASP.NET podem conter scripts de cliente que executam dentro do navegador.Algumas funções ASP.NET geram scripts de cliente e inserem-nos na página.Nesse caso, ASP.NET sempre gera ECMAScript (JavaScript) para melhor funcionalidade de navegadores cruzados.Além disso, você pode adicionar seus próprios scripts de cliente para funcionalidade personalizada.Se fizer isso, você pode utilizar qualquer linguagem de script de cliente que seja compatível com os navegadores que você estiver como objetivo.

Controles de servidor

Como qualquer página da Web, as páginas da Web ASP.NET podem conter texto estático.Com mais frequência, entretanto, você adicionará controles para a página, como caixas de texto, caixas de seleção e botões.Esses controles permitem ao usuário interagir com a página e enviar informações para o servidor quando a página é remetida novamente.

O ASP.NET fornece um conjunto de controles conhecido como controles do servidor Web.Controles do servidor ASP.NET podem ser semelhante aos elementos de formulários HTML correspondentes.Por exemplo, o controle TextBox do ASP.NET é semelhante a uma marca HTML <input type="text">.Entretanto, os controles do servidor ASP.NET oferecem uma experiência de programação mais enriquecedora de elementos HTML.Há também controles do servidor ASP.NET para um intervalo muito maior de funções que o que é oferecido pelos elementos HTML.Entre os controles do servidor que podem ser usados em um página da Web do ASP.NET está um controle de calendário, controles com dados vinculados que exibem listas ou grades, um controle de logon para adicionar segurança a seu site, e muito mais.

Para obter mais informações, consulte Visão geral sobre controles do servidor da Web do ASP.NET.

Página e eventos de controle do servidor

Um página da Web do ASP.NET e os controles dele oferecem suporte a um modelo de evento como os encontrados em Windows Forms.Por exemplo, quando os usuários clicarem em um controle de servidor Button em um página da Web do ASP.NET, a página é lançada de volta para o servidor, a página é recriada, e um evento de clique é gerado.Você pode adicionar código para a página que responde a este evento de clique.

A própria página gera eventos de ciclo de vida quando ela é inicializada, como os eventos Page_Init e Page_Load, que oferece a você a oportunidade para executar o código quando a página é inicializada.(Lembre-se de que a página é criada e reinicializada com cada processamento.) Controles individuais podem iniciar seus próprios eventos.Controles de botão geram um evento Click, caixa de seleção e botão de opção geram eventos CheckedChanged, e caixas de listagem e listas suspensas geram um evento SelectedIndexChanged.Alguns controles, como o controle Calendar, criam eventos que não são mais abstratos que eventos de simples clique.Por exemplo, o controle Calendar gera um evento VisibleMonthChanged quando os usuários navegarem para um outro mês.

A maioria dos controles servidor ASP.NET suportam somente alguns dos eventos que você pode tratar no código servidor.Para processar um evento, a página deve executar uma round trip para que a escolha do usuário possa ser enviada para a página para processamento.Os controles do servidor não expõe eventos de alta frequência como onmouseover, porque sempre que esse evento é iniciado, ocorre outro processamento para o servidor, o que iria afetar consideravelmente o tempo de resposta na página.Entretanto, você pode configurar controles de servidor ASP.NET para iniciar eventos do lado do cliente, como onmouseover.Nesse caso, os controles não irão ser remetidos novamente para o servidor, e você criar um script de cliente para responder a eventos.

Para obter mais informações sobre como criar e usar os eventos e manipuladores de eventos, consulte Tratamento de Evento de servidor em páginas da Web ASP.NET.

Compatibilidade do navegador

Como o processamento da página da Web do ASP.NET ocorre no servidor Web, páginas da Web ASP.NET são compatíveis com qualquer navegador ou dispositivo móvel.Uma página da Web processa automatica e corretamente a marcação (XHTML ou outra linguagem de marcação) compatível com o navegador para recursos, como estilos e layout.Como alternativa, você pode criar páginas da Web com controles projetados especificamente para processar a saída para dispositivos específicos, como telefones celulares.Para obter mais informações, consulte Criando páginas de Web móveis do ASP.NET.

Consulte também

Conceitos

Visão geral sobre controles do servidor da Web do ASP.NET