TextChanged-Ereignis des TextBox-Steuerelements wird möglicherweise nicht ausgelöst, wenn AutoVervollständigen in Internet Explorer aktiviert ist
Wichtig
Die Internet Explorer 11-Desktopanwendung wird für bestimmte Versionen von Windows 10 eingestellt und ab dem 15. Juni 2022 nicht mehr unterstützt.
Sie können mit dem Internet Explorer-Modus in Microsoft Edge weiterhin auf ältere Websites zugreifen, für die Internet Explorer erforderlich ist. Anleitung.
Die Internet Explorer 11-Desktopanwendung wird schrittweise an den schnelleren, sichereren Microsoft Edge-Browser umgeleitet und letztendlich über Windows Update deaktiviert werden. Deaktivieren von IE heute.
Dieser Artikel enthält 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
Problembeschreibung
Wenn Sie das AutoVervollständigen-Feature von Formularen in Microsoft Internet Explorer aktivieren und dann Text aus der Dropdownliste "AutoVervollständigen" 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, da Internet Explorer das TextChanged-Ereignis eines TextBox-Steuerelements nicht auslösen kann, wenn Sie Mithilfe des AutoVervollständigen-Features Text aus der Dropdownliste auswählen.
Problemumgehung
Um dieses Verhalten zu umgehen, deaktivieren Sie das Feature "AutoVervollständigen" des Webformulars. Gehen Sie folgendermaßen vor, um das Feature zu deaktivieren:
Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf "WebForm1.aspx", und klicken Sie dann auf "Designer anzeigen".
Wechseln Sie zur HTML-Ansicht von WebForm1.aspx.
Suchen Sie den folgenden Code:
<form id="Form1" method="post" runat="server">Ersetzen Sie den Code in Schritt 3 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
Starten Sie Internet Explorer.
Klicken Sie im Menü Extras auf Internetoptionen. Das Dialogfeld Internetoptionen wird angezeigt.
Klicken Sie auf der Registerkarte "Inhalt" unter "Persönliche Informationen" auf "AutoVervollständigen". Das Dialogfeld AutoVervollständigen Einstellungen wird angezeigt.
Klicken Sie unter "AutoVervollständigen verwenden" auf das Kontrollkästchen "Formulare" und dann auf "OK".
Klicken Sie im Dialogfeld Internetoptionen auf OK.
Schritt 2: Erstellen einer Webanwendung, die ein TextBox-Steuerelement enthält
Starten Sie Microsoft Visual Studio .NET.
Zeigen Sie im Menü Datei auf Neu, und klicken Sie dann auf Projekt. Das Dialogfeld Neues Projekt wird angezeigt.
Klicken Sie unter Project Typen auf Visual C#-Projekte, klicken Sie unter Vorlagen auf ASP.NET Webanwendung, geben Sie
http://localhost/MyTestAppindas Feld "Speicherort" ein, und klicken Sie dann auf "OK".Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf "WebForm1.aspx", und klicken Sie dann auf "Designer anzeigen".
Klicken Sie im Menü "Ansicht" auf "Toolbox".
Fügen Sie dem Webformular ein TextBox-Steuerelement hinzu. Standardmäßig wird ein TextBox-Steuerelement mit dem Namen "TextBox1" erstellt.
Legen Sie im Eigenschaftenfenster des TextBox1 TextBox -Steuerelements die AutoPostBack -Eigenschaft auf True fest.
Klicken Sie im Eigenschaftenfenster des TextBox1 TextBox -Steuerelements auf Ereignisse, und doppelklicken Sie dann auf TextChanged. Die TextBox1_TextChanged Prozedur wird in der Codeansicht der Datei WebForm1.aspx hinzugefügt.
Fügen Sie an der TextBox1_TextChanged Prozedur einen Haltepunkt ein.
Klicken Sie im Menü "Datei" auf "Alle speichern", um alle Dateien zu speichern.
Schritt 3: Erstellen und anschließendes Debuggen der Webanwendung
On the Build menu, click Build Solution.
Klicken Sie im Menü "Debuggen" auf "Start". Die WebForm1 - Microsoft Internet Explorer-Webseite wird angezeigt.
Geben Sie in das Textfeld "text1" ein, und drücken Sie dann die EINGABETASTE. Sie bemerken, dass der Debugger in der Codeansicht der Datei WebForm1.aspx an der TextBox1_TextChanged Prozedur beendet wird.
Klicken Sie im Menü "Debuggen" auf "Weiter".
Geben Sie in das Textfeld auf der WebForm1 - Microsoft Internet Explorer-Webseite Text2 ein, und drücken Sie dann die EINGABETASTE. Sie werden feststellen, dass der Debugger bei der TextBox1_TextChanged Prozedur in der Codeansicht der Datei WebForm1.aspx erneut anhält.
Klicken Sie im Menü "Debuggen" auf "Weiter".
Geben Sie im Textfeld auf der WebForm1 - Microsoft Internet Explorer-Webseite t ein. Sie sehen eine Dropdownliste mit Wörtern, die Sie zuvor eingegeben haben.
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 TextBox-Steuerelements nicht ausgelöst wird.
References
Weitere Informationen finden Sie unter TextBox.AutoPostBack-Eigenschaft.