Das TextChanged-Ereignis des TextBox-Steuerelements wird möglicherweise nicht ausgelöst, wenn AutoVervollständigen in Internet Explorer

Warnung

Die eingestellte, nicht mehr unterstützte Desktop-Anwendung Internet Explorer 11 wurde durch ein Microsoft Edge-Update in bestimmten Versionen von Windows 10 dauerhaft deaktiviert. Weitere Informationen finden Sie unter Häufig gestellte Fragen zur Einstellung der Desktop-App von Internet Explorer 11.

Dieser Artikel bietet die Problemumgehung, um das Problem zu beheben, dass das TextChanged-Ereignis eines TextBox-Steuerelements nicht ausgelöst wird, wenn das AutoVervollständigen-Feature in Internet Explorer aktiviert ist.

Ursprüngliche Produktversion: Internet Explorer
Ursprüngliche KB-Nummer: 873198

Symptome

Wenn Sie die AutoVervollständigen-Funktion von Formularen in Microsoft Internet Explorer aktivieren und dann textend aus der AutoVervollständigen-Dropdownliste eines TextBox-Steuerelements in einer Webanwendung auswählen, wird das TextChanged-Ereignis des TextBox-Steuerelements nicht ausgelöst, obwohl sich der Text im TextBox-Steuerelement ändert.

Ursache

Dieses Verhalten tritt auf, weil internet Explorer das TextChanged-Ereignis eines TextBox-Steuerelements nicht auslösen kann, wenn Sie Text aus der Dropdownliste mithilfe der AutoVervollständigen-Funktion auswählen.

Problemumgehung

Um dieses Verhalten zu umgehen, deaktivieren Sie das AutoVervollständigen-Feature des Webformulars. Führen Sie die folgenden Schritte aus, um das Feature zu deaktivieren:

  1. Klicken Sie Projektmappen-Explorer mit der rechten Maustaste auf WebForm1.aspx, und klicken Sie dann auf Designer anzeigen.

  2. Wechseln Sie zur HTML-Ansicht von WebForm1.aspx.

  3. Suchen Sie den folgenden Code:

    <form id="Form1" method="post" runat="server">
    
  4. Ersetzen Sie den Code, den Sie in Schritt 3 gefunden haben, durch den folgenden Code:

    <form id="Form1" method="post" runat="server" autocomplete="off">
    

Schritte zum Reproduzieren des Verhaltens

Schritt 1: Aktivieren des AutoVervollständigen-Features für Formulare

  1. Starten Sie Internet Explorer.

  2. Klicken Sie im Menü Extras auf Internetoptionen. Das Dialogfeld Internetoptionen wird angezeigt.

  3. Klicken Sie auf der Registerkarte Inhalt unter Persönliche Informationen auf AutoVervollständigen. Das Dialogfeld AutoVervollständigen-Einstellungen wird angezeigt.

  4. Aktivieren Sie unter AutoVervollständigen verwenden für das Kontrollkästchen Formulare , und klicken Sie dann auf OK.

  5. Klicken Sie im Dialogfeld Internetoptionen auf OK.

Schritt 2: Erstellen einer Webanwendung, die ein TextBox-Steuerelement enthält

  1. Starten Sie Microsoft Visual Studio .NET.

  2. Zeigen Sie im Menü Datei auf Neu, und klicken Sie dann auf Projekt. Das Dialogfeld Neues Projekt wird angezeigt.

  3. Klicken Sie unter Projekttypen auf Visual C#-Projekte, klicken Sie unter Vorlagen auf ASP.NET Webanwendung, geben Sie http://localhost/MyTestAppin das Feld Speicherort ein, und klicken Sie dann auf OK.

  4. Klicken Sie Projektmappen-Explorer mit der rechten Maustaste auf WebForm1.aspx, und klicken Sie dann auf Designer anzeigen.

  5. Klicken Sie im Menü Ansicht auf Toolbox.

  6. Fügen Sie dem Webformular ein TextBox-Steuerelement hinzu. Standardmäßig wird ein TextBox-Steuerelement mit dem Namen TextBox1 erstellt.

  7. Legen Sie im Eigenschaftenfenster des TextBox1-Steuerelements textBox die AutoPostBack-Eigenschaft auf True fest.

  8. Klicken Sie im Fenster Eigenschaften des TextBox1-Steuerelements TextBox auf Ereignisse, und doppelklicken Sie dann auf TextChanged. Die TextBox1_TextChanged-Prozedur wird in der Codeansicht der WebForm1.aspx-Datei hinzugefügt.

  9. Fügen Sie einen Haltepunkt an der TextBox1_TextChanged-Prozedur ein.

  10. Klicken Sie im Menü Datei auf Alle speichern , um alle Dateien zu speichern.

Schritt 3: Erstellen und anschließendes Debuggen der Webanwendung

  1. On the Build menu, click Build Solution.

  2. Klicken Sie im Menü Debuggen auf Start. Die Webseite WebForm1 – Microsoft Internet Explorer wird angezeigt.

  3. Geben Sie im Textfeld text1 ein, und drücken Sie dann die EINGABETASTE. Sie sehen, dass der Debugger bei der TextBox1_TextChanged-Prozedur in der Codeansicht der WebForm1.aspx-Datei anhält.

  4. Klicken Sie im Menü Debuggen auf Weiter.

  5. Geben Sie im Textfeld auf der Webseite WebForm1 – Microsoft Internet Explorertext2 ein, und drücken Sie dann die EINGABETASTE. Sie stellen fest, dass der Debugger erneut an der TextBox1_TextChanged Prozedur in der Codeansicht der WebForm1.aspx-Datei anhält.

  6. Klicken Sie im Menü Debuggen auf Weiter.

  7. Geben Sie im Textfeld auf der Webseite WebForm1 – Microsoft Internet Explorerden Text t ein. Sie sehen eine Dropdownliste mit Wörtern, die Sie zuvor eingegeben haben.

  8. Verwenden Sie die NACH-UNTEN-TASTE, um text1 auszuwählen, und drücken Sie dann die EINGABETASTE.

    Sie sehen, dass das TextChanged-Ereignis des TextBox1-Steuerelements nicht ausgelöst wird.

References

Weitere Informationen finden Sie unter TextBox.AutoPostBack-Eigenschaft.