Событие TextChanged элемента управления TextBox может не срабатировать, если функция автозаполнения включена в Интернете Обозреватель
Предупреждение
Устаревшее и не поддерживаемое классическое приложение Internet Explorer 11 было окончательно отключено путем обновления Microsoft Edge в некоторых версиях Windows 10. Дополнительные сведения см. в разделе Часто задаваемые вопросы о прекращении поддержки программы для настольных компьютеров Internet Explorer 11.
В этой статье описывается обходной путь для решения проблемы, из-за чего событие TextChanged элемента управления TextBox не срабатывает, если функция автозаполнения включена в Интернет Обозреватель.
Исходная версия продукта: Интернет-Обозреватель
Исходный номер базы знаний: 873198
Симптомы
Если включить функцию автозаполнения форм в Microsoft Internet Обозреватель, а затем выбрать любой текст из раскрывающегося списка Автозаполнения элемента управления TextBox в веб-приложении, событие TextChanged элемента управления TextBox не срабатывает, даже если текст в элементе управления TextBox изменяется.
Причина
Это происходит из-за того, что интернет-Обозреватель не может запустить событие TextChanged элемента управления TextBox при выборе текста из раскрывающегося списка с помощью функции автозаполнения.
Обходной путь
Чтобы обойти это поведение, отключите функцию автозаполнения веб-формы. Чтобы отключить эту функцию, выполните следующие действия.
В Обозреватель решений щелкните правой кнопкой мыши WebForm1.aspx и выберите пункт Просмотреть Designer.
Переключитесь в представление HTML WebForm1.aspx.
Найдите следующий код:
<form id="Form1" method="post" runat="server">
Замените код, находящийся на шаге 3, следующим кодом:
<form id="Form1" method="post" runat="server" autocomplete="off">
Действия по воспроизведению поведения
Шаг 1. Включение функции автозаполнения для форм
Запустите Internet Explorer.
В меню Сервис выберите пункт Свойства обозревателя. Появится диалоговое окно Свойства браузера.
На вкладке Содержимое щелкните Автозавершение в разделе Личные сведения. Откроется диалоговое окно Параметры автозаполнения .
В разделе Использовать автозавершение для щелкните, чтобы выбрать проверка формы, а затем нажмите кнопку ОК.
В диалоговом окне Свойства браузера нажмите кнопку ОК.
Шаг 2. Создание веб-приложения, содержащего элемент управления TextBox
Запустите Microsoft Visual Studio .NET.
В меню Файл выберите пункт Создать и затем пункт Проект. Открывается диалоговое окно Новый проект.
Выберите Проекты Visual C# в разделе Типы проектов, выберите ASP.NET веб-приложение в разделе Шаблоны, введите
http://localhost/MyTestAppin
поле Расположение и нажмите кнопку ОК.В Обозреватель решений щелкните правой кнопкой мыши WebForm1.aspx и выберите пункт Просмотреть Designer.
В меню Вид выберите пункт Панель элементов.
Добавьте элемент управления TextBox в веб-форму. По умолчанию создается элемент управления TextBox1.
В окне Свойства элемента управления TextBox1 TextBox задайте для свойства AutoPostBackзначение True.
В окне Свойства элемента управления TextBox1 TextBox щелкните События, а затем дважды щелкните TextChanged. Процедура TextBox1_TextChanged добавляется в представление "Код" файла WebForm1.aspx.
Вставьте точку останова в процедуру TextBox1_TextChanged .
В меню Файл выберите команду Сохранить все , чтобы сохранить все файлы.
Шаг 3. Сборка и отладка веб-приложения
On the Build menu, click Build Solution.
В меню Отладка нажмите кнопку Пуск. Откроется веб-страница WebForm1 — Microsoft Internet Обозреватель.
В текстовом поле введите text1 и нажмите клавишу ВВОД. Вы заметили, что отладчик останавливается на процедуре TextBox1_TextChanged в представлении Код файла WebForm1.aspx.
В меню Отладка выберите пункт Продолжить.
В текстовом поле веб-страницы WebForm1 — Microsoft Internet Обозреватель введите text2 и нажмите клавишу ВВОД. Вы заметили, что отладчик снова останавливается на процедуре TextBox1_TextChanged в представлении кода файла WebForm1.aspx.
В меню Отладка выберите пункт Продолжить.
В текстовом поле веб-страницы WebForm1 — Microsoft Internet Обозреватель введите t. Вы заметили раскрывающийся список слов, введенных ранее.
Используйте клавишу СТРЕЛКА ВНИЗ, чтобы выделить текст1, а затем нажмите клавишу ВВОД.
Вы увидите, что событие TextChanged элемента управления TextBox1 TextBox не срабатывает.
Ссылки
Дополнительные сведения см. в разделе Свойство TextBox.AutoPostBack.
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по