Artigo: 317690 - Última revisão: domingo, 29 de Abril de 2007 - Revisão: 1.7

Como utilizar o atributo AutoEventWireup no Visual Basic .NET

Dica do SistemaEste artigo aplica-se a um sistema operativo diferente do que está a utilizar. Foi desactivado o conteúdo do artigo, que pode não ser relevante para si.

Nesta página

Expandir tudo | Reduzir tudo

Sumário

Este artigo explica como utilizar o atributo AutoEventWireup eficazmente no Microsoft ASP.NET Web Forms.

AutoEventWireup é um atributo da directiva @ Page . O atributo AutoEventWireup pode ter um valor de true ou false . Quando é criada uma aplicação Web em ASP.NET utilizando o Microsoft Visual Studio .NET, o valor do atributo AutoEventWireup estiver definido como false . Este artigo descreve como definir e alterar os valores predefinidos do atributo AutoEventWireup . Este artigo também explica a utilização deste atributo com exemplos de código ASP.NET Web Forms escrito em Microsoft Visual Basic. NET.

Pode utilizar o atributo AutoEventWireup para código ASP.NET Web Forms e controlos de utilizador da Web. Quando definir o valor do atributo AutoEventWireup como true , o resultado é código simples. Se definir o valor do atributo AutoEventWireup como false em determinadas circunstâncias, o ASP.NET Web Application executa melhor.

Pode especificar o valor predefinido do atributo AutoEventWireup nas seguintes localizações:
  • O ficheiro Machine.config
  • O ficheiro Web.config
  • Formulários da Web individuais (ficheiros .aspx)
  • Controlos de utilizador da Web (ficheiros .ascx)
Quando define o valor do atributo AutoEventWireup como true , o runtime do ASP.NET não necessita de eventos para especificar processadores de eventos como Page_Load ou Page_Init . Isto significa que a palavra-chave processa no Visual Basic .NET não terá de ser utilizado o script de servidor no formulário da Web.

Por predefinição, quando o ASP.NET Web Application é criada no Visual Studio. NET, o valor do atributo AutoEventWireup estiver definido como Falso na página .aspx e processadores de eventos são criados automaticamente. Este artigo descreve as predefinições do atributo AutoEventWireup e apresenta algum código úteis.


Requisitos

Este artigo pressupõe que está familiarizado com os seguintes tópicos:
  • Programação com o ASP.NET
  • Programação com o Visual Basic .NET
A lista seguinte descreve o hardware recomendado, software, infra-estrutura de rede e service packs que necessita:
  • Microsoft Visual Studio .NET 2002 ou Microsoft Visual Studio .NET 2003
  • Microsoft Windows 2000, Microsoft Windows XP ou Microsoft Windows Server 2003

Configurar as predefinições do atributo AutoEventWireup

O valor do atributo AutoEventWireup pode ser declarado na secção <pages> no ficheiro Machine.config ou no ficheiro Web.config da seguinte forma:
<configuration>
   <system.web>
      <pages autoEventWireup="true|false" />
   </system.web>
</configuration>
se efectuar estas alterações no ficheiro Machine.config, as alterações afectam todos os formulários da Web ASP.NET no computador. Se efectuar estas alterações no ficheiro Web.config, as alterações afectam apenas a aplicação que pertence o ficheiro.

O valor do atributo AutoEventWireup também pode ser alterado no formulário da Web individual. Para alterar-no formulário da Web, adicione o atributo AutoEventWireup a directiva @ Page , da seguinte forma:
<% @Page AutoEventWireup="true" %>

Defina o valor do atributo AutoEventWireup como FALSO

Se pretender ligar manualmente eventos para uma função, utilize o valor false do atributo AutoEventWireup . Os seguintes exemplos mostram o código que pode utilizar para processar o evento carregar do objecto de página num formulário Web do ASP.NET:
  1. Inicie o Visual Studio NET..
  2. No menu ficheiro , aponte para Novo e, em seguida, clique em projecto .
  3. Na caixa de diálogo Novo projecto , clique em Projectos do Visual Basic em Project Types e, em seguida, clique em ASP.NET Web Application em modelos .
  4. Na caixa localização , escreva http:// ServerName / AminhaApWeb e, em seguida, clique em OK .

    Nota O marcador de posição ServerName é um nome de servidor e AminhaApWeb é um exemplo ASP.NET Web Application.
  5. No Solution Explorer, clique com o botão direito do rato no ficheiro WebForm1.aspx, clique em Mudar o nome e, em seguida, escreva EventWireUpFalse.aspx .
  6. Substituir o código existente a EventWireUpFalse.aspx ficheiro com o seguinte código:
    <%@ Page Language="vb" AutoEventWireup="false" Inherits="MyWebApp.EventWireUpFalse"%>
    <html>
       <head>
          <title>Visual Basic .NET WIRE-UP FALSE</title>      
       </head>   
          <body><p><% Response.Write(message) %></p></body>   
    </html>
  7. Substituir o código existente a EventWireUpFalse.aspx.vb ficheiro com o seguinte código:
    Public Class EventWireUpFalse
        Inherits System.Web.UI.Page
    
       Public message As String
       Public Sub Page_Load(ByVal Sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load    
        'MyBase.Load is the type for the Load event of the page.
          message = "The Page_Load event fired with the AutoEventWireup attribute set to false"
       End Sub
    
    End Class
    
  8. No menu Debug , clique em Iniciar para criar e executar o projecto.

    Neste exemplo, recebe uma mensagem quando a rotina Page_Load é accionado a estrutura de páginas ASP.NET. Uma vez que o valor do atributo AutoEventWireup está definido como false , utilize a palavra-chave processa e siga-lo com uma referência para o evento carregar : MyBase.Load .

Defina o valor do atributo AutoEventWireup como true

Quando define o valor do atributo AutoEventWireup como false , tem manualmente ligar eventos a funções. Por outro lado, quando define o valor do atributo AutoEventWireup como true , a estrutura de páginas ASP.NET automaticamente pode ligar eventos. Para o processador de eventos Page_Load num formulário Web do ASP.NET de código quando o valor do atributo AutoEventWireup for Verdadeiro , siga estes passos:
  1. Visual Studio. NET.
  2. No menu ficheiro , aponte para Novo e, em seguida, clique em projecto .
  3. Na caixa de diálogo Novo projecto , clique em Projectos do Visual Basic em Project Types e, em seguida, clique em ASP.NET Web Application em modelos .
  4. Na caixa localização , escreva http:// ServerName / AminhaApWeb e, em seguida, clique em OK . NOTA: O marcador de posição ServerName é um nome de servidor e AminhaApWeb é um exemplo ASP.NET Web Application.
  5. No Solution Explorer, clique com o botão direito do rato no ficheiro WebForm1.aspx, clique em Mudar o nome e, em seguida, escreva EventWireUpTrue.aspx .
  6. Substitua o código existente no ficheiro EventWireUpTrue.aspx com o seguinte código:
    <%@ Page Language="vb" AutoEventWireup="true" Inherits="MyWebApp.EventWireUpTrue"%>
    <html>
       <head>
          <title>Visual Basic .NET WIRE-UP TRUE</title>      
       </head>   
          <body><p><% Response.Write(message) %></p></body>   
    </html>
  7. Substituir o código existente a EventWireUpTrue.aspx.vb ficheiro com o seguinte código: mensagem de
    Public Class EventWireUpTrue
       Inherits System.Web.UI.Page
    
       Public message As String
       Public Sub Page_Load(ByVal Sender As System.Object, ByVal e As System.EventArgs)
          message = "The Page_Load event fired with the value of the AutoEventWireup attribute set to true."
       End Sub
    
    End Class
  8. No menu Debug , clique em Iniciar para criar e executar o projecto.

    Utilize o processador de eventos Page_Load para apresentar uma mensagem. No entanto, neste caso não é necessário utilizar a palavra-chave processa porque a estrutura de páginas ASP.NET efectua este procedimento para si.

Evite definir o atributo AutoEventWireup para verdadeiro quando o desempenho é chave

Não tem de definir o valor do atributo AutoEventWireup como true se o desempenho é uma consideração chave. Se definir o valor do atributo AutoEventWireup como true , a estrutura de páginas ASP.NET tem de fazer uma chamada ao método CreateDelegate para cada formulário da Web (uma página .aspx). Em vez de depender hookup automática, substitui manualmente os eventos a partir da página, conforme indicado nos exemplos de código neste artigo.

Para mais informações, visite o seguinte Web site da Microsoft Developer Network (MSDN):
http://msdn.microsoft.com/library/en-us/dndotnet/html/dotnetperftips.asp (http://msdn.microsoft.com/library/en-us/dndotnet/html/dotnetperftips.asp)

Utilizar o atributo AutoEventWireup de outras formas

O atributo AutoEventWireup também é um atributo da directiva @ Control utilizado nos controlos de utilizador da Web. Pode utilizar o atributo AutoEventWireup de formas que são semelhantes deste artigo.

Referências

Para obter informações adicionais, clique números de artigo que se seguem para visualizar os artigos na base de dados de conhecimento da Microsoft:
303247  (http://support.microsoft.com/kb/303247/ ) Visão geral sobre o modelo de código do ASP.NET
312311  (http://support.microsoft.com/kb/312311/ ) Como trabalhar com ficheiros de classe de código numa aplicação do ASP.NET, utilizando o Visual Basic .NET
Para mais informações, visite os seguintes Web sites da MSDN:
http://msdn2.microsoft.com/en-us/library/ydy4x04a(vs.71).aspx (http://msdn2.microsoft.com/en-us/library/ydy4x04a(vs.71).aspx)

http://msdn.microsoft.com/en-us/library/fy30at8h.aspx (http://msdn.microsoft.com/en-us/library/fy30at8h.aspx)

http://msdn.microsoft.com/en-us/library/at2tetf6(VS.71).aspx (http://msdn.microsoft.com/en-us/library/at2tetf6(VS.71).aspx)

http://msdn2.microsoft.com/en-us/library/edzehd2t(vs.71).aspx (http://msdn2.microsoft.com/en-us/library/edzehd2t(vs.71).aspx)

http://msdn.microsoft.com/en-us/library/ms973839.aspx (http://msdn.microsoft.com/en-us/library/ms973839.aspx)

A informação contida neste artigo aplica-se a:
  • Microsoft ASP.NET 1.1
  • Microsoft ASP.NET 1.0
  • Microsoft Visual Basic .NET 2003 Standard Edition
  • Microsoft Visual Basic .NET 2002 Standard Edition
Palavras-chave: 
kbmt kbconfig kbhowtomaster kbwebforms KB317690 KbMtpt
Tradução automáticaTradução automática
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 revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 317690  (http://support.microsoft.com/kb/317690/en-us/ )