Мы используем элемент управления, который использует обратные вызовы на нашей странице ASP.NET.
- Элемент управления отлично работает в FireFox, Google Chrome и т. Д.
Элемент управления работает нормально, если мы не используем ASP.NET AJAX History. Как только мы вызываем этот код, обратные вызовы перестают работать в IE (6, 7 и 8):
ScriptManager.GetCurrent (Page) .AddHistoryPoint ("h", id);
Я провел некоторую отладку на стороне сервера, чтобы выяснить, что RaiseCallbackEvent не был запущен в IE, но был запущен для других.
- Я отлаживал с помощью Fiddler и заметил, что он не запрашивал соответствующий URL. Сервер возвращает неверный запрос об ошибке.
Другие браузеры отправляют HTTP POST по адресу:
test.aspx
Однако IE отправляет его:
test.aspx% 23 && ч = 12
Это потому, что URL-адрес в панели браузера - test.aspx # && h = 12 из-за нашего AJAX History Control.
Как заставить IE отбросить привязку, используемую для истории AJAX, при вызове WebForm_DoCallback в JavaScript?