Como trabalhar com arquivos de classe code-behind em um aplicativo ASP.NET usando Visual Basic .NET

IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.

Clique aqui para ver a versão em Inglês deste artigo: 312311
Para obter uma Microsoft Visual translation from VPE for Csharp .NET versão deste artigo, consulte 308143.
Sumário
Este artigo demonstra como desenvolver páginas .aspx que usam arquivos de classe code-behind em aplicativos Microsoft ASP.NET. Os exemplos de código neste artigo incluem os requisitos para arquivos de classe code-behind que são pré-compilados e arquivos de classe code-behind que são compilados sob demanda. Para obter mais informações sobre arquivos de classe code-behind e a implantação, consulte a seção "Referências".

Requisitos

A lista a seguir descreve o hardware recomendado, software, infra-estrutura de rede e service packs que você precisa:
  • Microsoft Windows 2000, Microsoft Windows XP ou Microsoft Windows Server 2003
  • Microsoft .NET framework 1.0 ou o Microsoft .NET Framework 1.1
  • Serviços de informações da Internet (IIS) versão 5.0 ou posterior

Criar um aplicativo ASP.NET usando o Microsoft Visual Basic .NET

Esta seção demonstra como criar uma nova Web ASP.NET aplicativo é denominado CodeBehindSamples.
  1. Inicie o Microsoft Visual Studio NET..
  2. No menu arquivo , aponte para novo e, em seguida, clique em Project .
  3. Em Project Types , clique em Projetos do Visual Basic . Em modelos , clique em ASP.NET Web Application .
  4. Na caixa Location , digite o nome do servidor e digite CodeBehindSamples para o nome de projeto. Se você estiver usando o servidor local, deixe o local como http://localhost . Para esse exemplo, sua localização é http://localhost/CodeBehindSamples .

Usar arquivos de classe code-behind

Se você usar arquivos de classe code-behind com páginas .aspx, você pode separar o código de apresentação da lógica do aplicativo principal (ou code-behind). O arquivo de classe code-behind é compilado para que possa ser criado e usado como um objeto. Isso permite acesso a suas propriedades, seus métodos, seu e manipuladores de eventos. Para que isso funcione, deve especificar a página .aspx para herdar da classe base code-behind. Para fazer isso, use o atributo Inherits para a diretiva @ Page . A página .aspx herda da classe code-behind, e a classe code-behind herda da classe Page .

Por padrão, se você estiver usando o Visual Studio. NET, um atributo Codebehind é adicionado para a diretiva @ Page . O .NET Framework não usa, na verdade, esse atributo. Em vez disso, o Visual Studio .NET usa esse atributo para manter uma referência ao arquivo code-behind associado para a página .aspx.

Para demonstrar como o Visual Studio .NET usa o atributo Codebehind , remova o atributo Codebehind . Observe que você não pode clique a página .aspx com o botão direito do mouse e, em seguida, clique em View Code . Esse comportamento ocorre porque o Visual Studio .NET não contém uma referência para o arquivo de classe que pode usar para a página. Lembre-se que isso é não como o .NET Framework usa arquivos de classe code-behind, mas como o Visual Studio .NET gerencia esses arquivos de projeto.

Usar o atributo Inherits com classes pré-compilados

Se você pré-compila as classes code-behind em um assembly, você pode usar o atributo Inherits para especificar a classe da qual herda. Nesse cenário, não é necessário incluir o arquivo de classe code-behind real ao implantar o aplicativo. Em vez disso, você deve implantar o assembly e a página .aspx. Você deve colocar o assembly na pasta Bin do aplicativo quando você implanta o aplicativo.

Esta seção demonstra como criar um novo formulário da Web que usa a abordagem de pré-compilada e herda da classe code-behind.
  1. Para adicionar uma nova Web Form chamada InheritSample.aspx para seu projeto Visual Studio.NET, execute estas etapas:
    1. No Solution Explorer, clique o CodeBehindSamples com o botão direito clique em Adicionar nó de projeto e em seguida, clique em Add Web Form .
    2. Na caixa nome , digite InheritSample.aspx e, em seguida, clique em Abrir .
  2. Alterne para o modo Design e adicione um controle de formulário da Web Label para a página .aspx da caixa de ferramentas.
  3. Clique a página .aspx com o botão direito do mouse e, em seguida, clique em View Code . O arquivo code-behind é aberto no editor.
  4. No arquivo code-behind, adicione o seguinte código ao evento Page_Load :
    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load        Label1.Text = "(Precompiled): Page_Load fired!"    End Sub						
    Observação este código demonstra somente que a classe code-behind é envolvida no exemplo em tempo de execução em etapas posteriores.
  5. Alterne do arquivo de classe code-behind para a página .aspx no editor e, em seguida, alterne para modo de exibição de HTML.
  6. Na parte superior da página, examine o código para a diretiva @ Page . O código deve ser semelhante ao seguinte código padrão:
    <%@ Page Language="vb" AutoEventWireup="false" Codebehind="InheritSample.aspx.vb" Inherits="CodeBehindSamples.InheritSample"%>						
    neste exemplo, observe que a página .aspx herda do código - behind classe que é chamado InheritSample no namespace CodeBehindSamples . Por padrão, um aplicativo Web que é criado no Visual Studio .NET usa um ProjectName. ClassName estrutura para o valor de atributo Inherits .
  7. No menu arquivo , clique em Salvar tudo para salvar o formulário da Web e outros arquivos de projeto associado.
  8. No IDE do Visual Studio .NET, no menu Build , clique em criar para criar o projeto.
  9. No menu Project , clique em Mostrar todos os arquivos .
  10. No Solution Explorer, clique para expandir a pasta bin . O assembly que é gerado quando você compilar o projeto da seção anterior (que é CodeBehindSamples.dll neste exemplo) aparece na pasta bin.
  11. No Visual Studio. NET, clique com o botão direito do mouse na página InheritSample no Solution Explorer e clique em View in Browser para executar o código. O rótulo é preenchido com o seguinte valor:
    (Precompiled): Page_Load fired!						

Use o atributo Src e compilar sob demanda

Se os arquivos de classe code-behind serão ser compilados por demanda em vez de pré-compilado, você deve usar o atributo Src para especificar o caminho relativo do arquivo de classe code-behind. Certifique-se que você inclui o arquivo de classe real quando você usa esse método para implantar o aplicativo.

Observação Se você desenvolver seus aplicativos no Visual Studio. NET, consulte a seção "Referências" neste artigo para obter mais informações sobre possíveis problemas usando o atributo Src . O Visual Studio .NET foi projetado para tirar proveito dos pré-compilar seu código de aplicativo em um assembly em vez de usar a compilação abordagem por demanda que é descrita nesta seção.
  1. Para adicionar uma nova Web Form chamado SrcSample.aspx ao seu projeto no Visual Studio.NET, execute estas etapas:
    1. No Solution Explorer, clique com o botão direito no nó do projeto, clique em Adicionar e, em seguida, clique em Add Web Form .
    2. Na caixa nome , digite SrcSample.aspx e, em seguida, clique em Abrir .
  2. Alterne para o modo Design e adicione um controle de formulário da Web Label para a página .aspx da caixa de ferramentas.
  3. Clique a página .aspx com o botão direito do mouse e, em seguida, clique em View Code . O arquivo code-behind é aberto no editor.
  4. No arquivo code-behind, adicione o seguinte código ao evento Page_Load :
    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load        Label1.Text = "(Src): Page_Load fired!"    End Sub					
  5. Alterne do arquivo de classe code-behind para a página .aspx no editor e, em seguida, alterne para modo de exibição de HTML.
  6. Na parte superior da página, examine o código para a diretiva @ Page . O código deve ser semelhante ao seguinte código padrão:
    <%@ Page language="vb" Codebehind="SrcSample.aspx.vb" AutoEventWireup="false" Inherits="CodeBehindSamples.SrcSample"%>					
  7. Para simplificar este exemplo, exclua o arquivo global.asax do seu projeto. Isso é feito somente neste exemplo para evitar erros adicionais relacionadas a página code-behind do arquivo global.asax.
  8. No menu arquivo , clique em Salvar tudo para salvar o formulário da Web e outros arquivos de projeto associado.

    Observação Porque você deseja que o arquivo de classe code-behind para esse exemplo compilar sob demanda, não crie a solução agora.
  9. Para executar a página, inicie o Microsoft Internet Explorer e, em seguida, insira manualmente a URL para a página. Não selecione View in Browser ou as opções Procurar do IDE do Visual Studio .NET. Pré-caso contrário, se você estiver usando o Visual Studio .NET 2003, a página code-behind será ser compilada em um assembly que está localizado no diretório bin por padrão. Após exibir a página, você deve receber a seguinte mensagem de erro:
    Não foi possível carregar o tipo 'CodeBehindSamples.SrcSample'.
    Este erro ocorre porque o arquivo de classe code-behind ainda não é compilado e ainda não tiver incluído o atributo Src para fazer referência o arquivo de classe code-behind.
  10. Adicione o atributo Src para a diretiva @ Page da seguinte maneira:
    <%@ Page language="vb" Codebehind="SrcSample.aspx.vb" AutoEventWireup="false" Inherits="SrcSample" Src="SrcSample.aspx.vb"%>						
    aviso que o atributo Src é listado com o caminho relativo do código - behind do arquivo de classe (SrcSample.aspx.vb) e que valor do atributo Inherits é definido para fazer referência a classe SrcSample .
  11. No menu arquivo , clique em Salvar tudo para salvar o formulário da Web e outros arquivos de projeto associado. Lembre-se, não crie a solução porque você deseja que o arquivo de classe code-behind para esse exemplo ser compilado por demanda.
  12. Para executar a página, inicie o Internet Explorer e, em seguida, insira manualmente a URL para a página. Não selecione View in Browser ou as opções Procurar do IDE do Visual Studio .NET. Pré-caso contrário, se você estiver usando o Visual Studio .NET 2003, a página code-behind será ser compilada em um assembly que está localizado no diretório bin por padrão. Nesse ponto, a página deve ser carregada no navegador, e o rótulo é preenchido com o seguinte valor:
    (Src): Page_Load fired!							
    O arquivo de classe code-behind agora tiver sido compilado corretamente em demanda e funções.

Solução de problemas

  • Se você não pré-compilar o arquivo de classe code-behind e não adicione o atributo Src a diretiva @ Page , ou se o caminho virtual para o atributo não estiver correto, você receberá a seguinte mensagem de erro:
    Não foi possível carregar o tipo 'CodeBehindSamples.SrcSample'.
    Observação Essa mensagem de erro também pode ser o resultado de maiúsculas e minúsculas incorreto do valor do atributo Inherits . Certifique-se que o valor do atributo Inherits é escrito e em letras maiúsculas da mesma maneira que o nome da classe code-behind.
  • Se você receber a seguinte mensagem de erro, examine os valores de atributo diretiva @ Page para certificar-se que elas estão definidas corretamente:
    O tipo base 'CodeBehindSamples.SrcSample' não existe no arquivo de origem 'SrcSample.aspx.vb'.
    Você pode referir-se a etapa 10 da seção "A origem atributo e compile demanda" deste artigo para obter um exemplo de como isso deve ser especificado.
  • Quando você implanta páginas .aspx, se seus arquivos de classe code-behind associado são pré-compilados, você só é necessários para implantar o assembly para a Lixeira pasta do aplicativo. Não é necessário implantar os arquivos de classe code-behind real com o aplicativo.
  • Quando você implanta páginas .aspx, se seus arquivos de classe code-behind associado não são pré-compilados, você deve implantar os arquivos de classe code-behind com o aplicativo. Além disso, você deve adicionar o atributo Src para a diretiva @ Page , porque o arquivo de classe deve estarão disponível quando ele é compilado sob demanda.
  • Se você deseja ou se deve conter suas páginas Web Form em um único arquivo, você pode desenvolver suas páginas .aspx para conter o código em vez do arquivo de classe code-behind. Para obter mais informações sobre como desenvolver único arquivo Web Forms no Visual Studio. NET, visite o seguinte site da Web Microsoft Developer Network (MSDN):
Referências
Para obter mais informações sobre assemblies, visite o seguinte site da MSDN:Para obter mais informações sobre como implantar aplicativos .NET Framework, visite o seguinte site da MSDN: Para obter mais informações sobre artigos, exemplos e outros recursos que estão relacionados à programação do ASP.NET, visite o seguinte site da MSDN: Para obter mais informações sobre a diretiva @ Page e seus vários atributos, visite o seguinte site da MSDN:Para obter mais informações sobre sintaxe geral de Web Forms, visite o seguinte site da MSDN:Para obter mais informações, clique nos números abaixo para ler os artigos na Base de dados de Conhecimento da Microsoft:
303247Visão geral de modelo de code-behind do ASP.NET
305141Visão geral de estrutura de página do ASP.NET
301392Como criar uma pasta virtual (subweb) no IIS 4.0 ou o IIS 5.0

Aviso: este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 312311 - Última Revisão: 05/11/2007 09:50:05 - Revisão: 2.8

Microsoft ASP.NET 1.0, Microsoft ASP.NET 1.1, Microsoft Visual Basic .NET 2002 Standard Edition, Microsoft Visual Basic .NET 2003 Standard Edition

  • kbmt kbhowtomaster KB312311 KbMtpt
Comentários