Проблема / проблема в том, что AutoPostBack
работает, прикрепляя события JavaScript к вашим элементам управления. Каждый браузер обрабатывает JavaScript немного по-своему, поэтому нет реальной гарантии для заказа.
Когда я пробую ваш код, например, в Google Chrome , происходит следующая последовательность событий:
- Запрос отправлен на сервер
- Событие ListBox_IndexChanged вызывается
- Событие Text_Changed вызывается
- Ответ возвращается клиенту
Однако в Internet Explorer 8 я заметил следующую последовательность:
- Запрос отправлен на сервер
- Событие Text_Changed вызывается
- Ответ возвращается клиенту
- Еще один запрос отправлен на сервер
- Событие ListBox_IndexChanged вызывается
- Событие Text_Changed вызывается
- Второй ответ возвращается клиенту
Это не ошибка ASP.NET, а просто разные реализации JavaScript в разных браузерах.
Если вам нужно полагаться на определенную последовательность событий, AutoPostBack
не собирается ее сокращать. В зависимости от вашей ситуации, я мог бы взглянуть на реализацию моих собственных событий JavaScript с использованием кросс-браузерной библиотеки, такой как jQuery . Вы можете программно перезвонить на сервер, используя функцию __doPostBack()
.