ID do artigo: 873198 - Última revisão: sexta-feira, 18 de maio de 2007 - Revisão: 2.6

O evento TextChanged de um controle TextBox não pode ser acionado se o recurso AutoCompletar estiver ativado no Internet Explorer

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 | Recolher tudo

Sintomas

Quando você ativa o recurso AutoCompletar de formulários no Microsoft Internet Explorer e, em seguida, selecionar nenhum texto de AutoCompletar drop-down lista de um controle TextBox em um aplicativo da Web, o evento TextChanged do controle TextBox não dispara, mesmo que o texto de TextBox controlar alterações.

Causa

Esse comportamento ocorre porque o Internet Explorer não é possível disparar o evento TextChanged de um controle TextBox quando você seleciona o texto na lista drop-down usando o recurso AutoCompletar.

Como Contornar

Para contornar esse comportamento, desative o auto completar recurso de formulário da Web. Para fazer isso, execute as seguintes etapas:
  1. No Solution Explorer, clique com o botão direito do mouse em WebForm1.aspx e, em seguida, clique em View Designer .
  2. Alterne para o modo de exibição HTML de WebForm1.aspx.
  3. Localize o código a seguir:
    <form id="Form1" method="post" runat="server">
  4. Substitua o código localizado na etapa 3 com o seguinte código:
    <form id="Form1" method="post" runat="server" autocomplete="off">

Situação

Esse comportamento é por design.

Mais Informações

Etapas para reproduzir o comportamento

Habilitar o recurso AutoCompletar para formulários

  1. Inicie o Internet Explorer.
  2. No menu Ferramentas , clique em Internet opções . A caixa de diálogo Opções da Internet será exibida.
  3. Na guia conteúdo , clique em AutoCompletar em informações pessoais . A caixa de diálogo Configurações de AutoCompletar aparece.
  4. Em Usar AutoCompletar para , clique para selecionar a caixa de seleção de formulários e, em seguida, clique em OK .
  5. Na caixa de diálogo Opções da Internet , clique em OK .

Criar um aplicativo da Web que contém um controle TextBox

  1. Inicie o Microsoft Visual Studio NET..
  2. No menu arquivo , aponte para novo e, em seguida, clique em Project . A caixa de diálogo New Project é exibida.
  3. Clique em projetos do Visual translation from VPE for Csharp em Project Types , clique em ASP.NET Web Application em modelos , digite http://localhost/MyTestApp na caixa local e, em seguida, clique em OK .
  4. No Solution Explorer, clique com o botão direito do mouse em WebForm1.aspx e, em seguida, clique em View Designer .
  5. No menu Exibir , clique em caixa de ferramentas .
  6. Adicione um controle TextBox ao formulário da Web. Por padrão, um controle TextBox chamado TextBox1 é criado.
  7. Na janela Propriedades do controle TextBox1 TextBox , defina a propriedade AutoPostBack para True .
  8. Na janela Properties do controle TextBox TextBox1 , clique em eventos e, em seguida, clique duas vezes em TextChanged . O procedimento TextBox1_TextChanged é adicionado o modo de exibição código do arquivo WebForm1.aspx.
  9. Inserir um ponto de interrupção no procedimento TextBox1_TextChanged .
  10. No menu arquivo , clique em Salvar tudo para salvar todos os arquivos.

Criar e, em seguida, depurar o aplicativo da Web

  1. No menu Build , clique em Build Solution .
  2. No menu Debug , clique em Iniciar . O WebForm1 - Microsoft Internet Explorer aparece página da Web.
  3. Na caixa de texto, digite Texto1 e, em seguida, pressione ENTER. Observe que o depurador pára no procedimento TextBox1_TextChanged na exibição de código do arquivo WebForm1.aspx.
  4. No menu Debug , clique em continuar .
  5. Na caixa de texto na página da Web WebForm1 - Microsoft Internet Explorer , digite Texto2 e, em seguida, pressione ENTER. Observe que o depurador pára novamente no procedimento TextBox1_TextChanged na exibição de código do arquivo WebForm1.aspx.
  6. No menu Debug , clique em continuar .
  7. Na caixa de texto na página da Web WebForm1 - Microsoft Internet Explorer , digite t . Você observará uma lista drop-down de palavras que você digitou anteriormente.
  8. Use a tecla seta para baixo para selecionar Texto1 e, em seguida, pressione ENTER.

    Você verá que o evento TextChanged do controle TextBox1 TextBox não dispara.

Referências

Para obter mais informações, visite os seguintes sites do Microsoft Developer Network (MSDN) da:
http://msdn2.microsoft.com/en-us/library/system.web.ui.webcontrols.textbox.autopostback(vs.71).aspx (http://msdn2.microsoft.com/en-us/library/system.web.ui.webcontrols.textbox.autopostback(vs.71).aspx)

A informação contida neste artigo aplica-se a:
  • Microsoft ASP.NET 1.1
  • Microsoft ASP.NET 1.0
Palavras-chave: 
kbmt kbprb kbcontrol kbproperties kbwebforms kbtshoot KB873198 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 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: 873198  (http://support.microsoft.com/kb/873198/en-us/ )