COMO: Trabalhar com arquivos de classe code-behind em um aplicativo ASP.NET usando o Visual translation from VPE for Csharp .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: 308143
Sumário
Este artigo descreve 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 REFERENCES deste artigo.

back to the top

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
back to the top

Criar um aplicativo ASP.NET usando o Microsoft Visual translation from VPE for Csharp .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 Tipo de projeto , clique em projetos translation from VPE for Csharp Visual . Em modelos , clique em ASP.NET Web Application .
  4. Na caixa nome , digite CodeBehindSamples . Na caixa local , digite o nome do servidor. Se você estiver usando o servidor local, deixe o local como http://localhost .
back to the top

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 o acesso para suas propriedades, seus métodos e seus 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 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.

back to the top

Use o Inherits atributo 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 chamado InheritSample.aspx ao seu projeto 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 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.
  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 manipulador de eventos Page_Load
    private void Page_Load(object sender, System.EventArgs e){    Label1.Text = "(Precompiled): Page_Load fired!";}						
    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="c#" Codebehind="InheritSample.aspx.cs" AutoEventWireup="false" Inherits="CodeBehindSamples.InheritSample" %>						
    neste exemplo, observe que a página .aspx herda do código - behind classe que é chamado InheritSamples 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 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!						
back to the top

Use o atributo Src e compilar 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ê estiver desenvolvendo seus aplicativos no Visual Studio. NET, consulte a seção REFERENCES 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.
  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 void Page_Load(object sender, System.EventArgs e){    Label1.Text = "(Src): Page_Load fired!";}					
  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="c#" Codebehind="SrcSample.aspx.cs" 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. Se você seguiu as etapas listadas na seção "Usar o Inherits atributo e Precompiled classes", você deve excluir o assembly no diretório bin do aplicativo antes de você siga o restante das etapas nesta seção. Para obter mais informações, visite a seção Troubleshooting deste artigo.
  10. Para executar a página, inicie o Microsoft Internet Explorer e, em seguida, insira manualmente a URL da página. Não selecione View in Browser ou as opções Browse With 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ê receberá uma mensagem de erro semelhante à seguinte:
    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.
  11. Adicione o atributo Src para a diretiva @ Page da seguinte maneira:
    <%@ Page language="c#" Codebehind="SrcSample.aspx.cs" AutoEventWireup="false" Inherits="CodeBehindSamples.SrcSample" Src="SrcSample.aspx.cs"%>						
    Observação que o atributo Src é listado com o caminho relativo do código - behind do arquivo de classe (SrcSample.aspx.cs) e que o valor de atributo Inherits é definido como referência CodeBehindSamples.SrcSample .
  12. 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.
  13. Para executar a página, inicie o Internet Explorer e, em seguida, insira manualmente a URL da página. Não selecione View in Browser ou as opções Browse With 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.
back to the top

Solução de problemas

  • Você receberá uma mensagem de erro é semelhante à seguinte se você pré-compilar seu aplicativo no Visual Studio .NET e, em seguida, tente aplicar a compilação na abordagem de demanda usando o atributo Src :
    Mensagem de erro do compilador: CS1595: ' ProjectName. CodeBehindClassName 'é definido em vários lugares; usando definição de' %windir%:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET Files\ YourProjectName \d1444413\36fce407\assembly\dl2\009389be\231afa2d_d586c301\ YourAssemblyName .dll '
    Tenha em mente que os nomes de diretório seguinte YourProjectName no caminho listado na mensagem de erro provavelmente serão diferentes porque ASP.NET manipula automaticamente a criação de seus nomes e os diretórios.

    Se você usar o atributo Src , siga estas etapas para resolver o problema está associado com a mensagem de erro:
    1. Você deve excluir o diretório YourProjectName mencionada na mensagem de erro. Talvez seja necessário que executar o comando iisreset a partir do prompt de comando antes de concluir esta etapa. Caso contrário, poderá receber a seguinte mensagem de erro:
      Não é possível excluir GeneratedName .dll: acesso negado.
      Certifique-se o disco não está cheio ou protegido contra gravação e que o arquivo não está em uso.
    2. Você deve excluir o assembly no diretório bin do aplicativo.
    3. 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 Browse With do IDE do Visual Studio .NET. Pré-caso contrário, se você usar 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.
    Observação A Microsoft recomenda que você use a abordagem de pré-compilada em vez de compilação no método de demanda (usando o atributo Src ) se você desenvolver seus aplicativos com Visual Studio .NET para evitar esses tipos de problemas.
  • Se você deseja ou se deve conter suas páginas Web Form em um único arquivo, desenvolva 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):
  • Se você não pré-compilar o arquivo de classe code-behind e se você não adicionar o atributo Src para 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'.
  • Quando você implanta páginas .aspx, se seus arquivos de classe code-behind associado são pré-compilados, você só precisará 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.
back to the top
Referências
Para obter mais informações sobre assemblies, visite os seguintes sites da MSDN:Para obter mais informações sobre como implantar aplicativos .NET Framework, visite o seguinte site da MSDN:Para mais 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 informações adicionais, clique nos números abaixo para ler os artigos na Base de dados de Conhecimento da Microsoft:
303247INFO: Visão geral de modelo de code-behind ASP.NET
305141INFO: Página ASP.NET Framework Overview
301392COMO: Criar uma pasta virtual (subweb) no IIS 4.0 ou o IIS 5.0
back to the top
código de code-behind

Propriedades

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

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

  • kbmt kbhowtomaster KB308143 KbMtpt
Comentários