Share via


Visão geral sobre classes de páginas ASP.NET

Quando um página ASP.NET é solicitada e processa uma marcação em um navegador, o código que executa não é somente o código que você criou para sua página.Em vez disso, em tempo de execução, o ASP.NET gera e compila uma ou mais classes que realmente executam as tarefas necessárias para executar a página.Este tópico fornece uma visão geral sobre o código que é gerado em tempo de execução.

Gerando e executando o código de classe de página

Uma página ASP.NET é executada como uma unidade, combinando os elementos do lado do servidor em uma página, como controles, com o código de manipulação de eventos que você tenha escrito.Você não precisa pré-compilar páginas em conjuntos de módulos (assemblies).O ASP.NET dinamicamente compila páginas e as executa na primeira vez que são solicitadas por um usuário.Se houver alterações para a página ou recursos que a página depende, a página é automaticamente recompilada.A classe ou classes que o compilador cria dependem se a página usa o modelo de arquivo único ou o modelo code-behind.

O ASP.NET também suporta pré-compilação de um site da Web para melhorar o desempenho e verificação de erro bem como executar como dar suporte à implantação do site.Para obter mais informações, consulte Visão geral da Pré-compilação do Site da Web ASP.NET.A pré-compilação funciona para os modelos de arquivo único e code-behind, e a saída é a mesma para ambos os modelos.

Páginas de Arquivo Único

Em uma página de arquivo único, a marcação, elementos do lado do servidor e o código de manipulação de eventos estão todos em um arquivo .aspx único.Quando a página é compilada, o compilador gera e compila uma nova classe que deriva da classe base Page ou uma classe base personalizada definida com o atributo Inherits da diretiva @ Page.Por exemplo, se você criar uma nova página da Web ASP.NET chamada SamplePage1 no diretório raiz do seu aplicativo, em seguida, uma nova classe denominada ASP.SamplePage1_aspx é derivada da classe Page.Para páginas dentro das subpastas de aplicativo, o nome da subpasta é usado como parte da classe gerada.A classe gerada contém declarações para os controles na página .aspx e seus manipuladores de eventos e outros códigos personalizados.

Após a geração de página, a classe gerada é compilada em um conjunto de módulos (assembly), o conjunto é carregado no domínio de aplicativo, e, em seguida, a classe de página é instanciada e executada para processar a saída para o navegador.Se você alterar a página que afetaria a classe gerada — tanto adicionando controles ou modificando seu código — o código compilado da classe é invalidado e é gerada uma nova classe.Para obter mais informações sobre compilação no ASP.NET, consulte Visão geral da Compilação do ASP.NET.

A ilustração a seguir mostra o modelo de herança para a classe de página em uma página da Web do ASP.NET em arquivo único:

Páginas code-Behind

No modelo de code-behind, marcação da página e elementos do lado do servidor, incluindo declarações de controle, estão em um arquivo .aspx, enquanto o código de página está em um arquivo separado de código.O arquivo de código contém uma classe parcial — ou seja, uma declaração de classe com a palavra-chave partial (Partial no Visual Basic) indicando que ela contém apenas parte do total de código que constitui a classe completa para a página.No classe parcial, você adiciona o código que o aplicativo necessita para a página.Isso normalmente consiste de manipuladores de eventos, mas pode incluir quaisquer métodos ou propriedades que você precisa.

O modelo de herança para páginas code-behind é um pouco mais complexo do que para páginas de arquivo único.O modelo é este:

  1. O arquivo code-behind contém uma classe parcial que herda de uma classe base de página.A classe base de página pode ser a classe Page, ou pode ser outra classe que é derivada de Page.

  2. O arquivo .aspx contém um atributo Inherits na diretiva @ Page que aponta para a classe parcial code-behind.

  3. Quando a página é compilada, o ASP.NET gerará um classe parcial com base no arquivo .aspx; Essa classe é uma classe parcial do arquivo de classe code-behind.O arquivo gerado de classe parcial contém declarações para controles da página.Esta classe parcial permite que o arquivo de code-behind seja usado como parte de uma classe concluída sem exigir que você declare explicitamente os controles.

  4. Finalmente, o ASP.NET gera outra classe que herda da classe gerada na etapa 3.Essa segunda classe gerado contém o código necessário para compilação a página.O segunda classe gerada e a classe code-behind são compiladas em um conjunto de módulos (assembly) que é executado para processar a saída para o navegador.

A ilustração a seguir mostra o modelo de herança para a classe de página em uma página da Web do ASP.NET code-behind:

Consulte também

Conceitos

Modelo de código de página Web do ASP.NET