ASP.NET обратный вызов не запускается в IE - PullRequest
3 голосов
/ 12 января 2010

Мы используем элемент управления, который использует обратные вызовы на нашей странице 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?

1 Ответ

3 голосов
/ 12 января 2010

Читая содержимое на WebForm_DoCallback, я не увидел ничего, что устанавливало бы URL-адрес вызова сервера. Это означает, что он либо получает его из действия формы, либо отправляет на текущую страницу. Попробуйте установить атрибут действия формы.

...