У меня есть UserControl с панелью обновления. На панели обновлений есть DropDownList. При изменении раздела загружается DataList, и кнопка отправки становится видимой. Кнопка отправки отлично работает в IE и FireFox, но в Chrome она, кажется, периодически ничего не делает (то есть, во многих случаях она отлично работает в Chrome). Если это не работает, шаблон asp.net ajax UpdateProgress для панели обновлений не отображается и не отправляет сообщения обратно на сервер. UpdatePanel имеет ChildrenAsTriggers = true, а кнопка является дочерней. Кнопка включена, и я не получаю никаких ошибок сценария в консоли инструментов разработчика Chrome. Я также не получаю никаких исключений на стороне сервера в любой момент. К кнопке не привязан пользовательский JavaScript-код:
<asp:Button ID="btnContinue" runat="server" Text="" CssClass="btn_continue" OnClick="btnCheckOut_Click" />
Как я могу дополнительно отлаживать, что происходит (или не происходит), когда я нажимаю кнопку?
Редактировать: Вот новая информация:
1) Когда возникает проблема, никакие последующие постбэки не работают. Я выбираю элемент из выпадающего списка, он отправляет обратно асинхронно, и затем ни кнопка, ни изменение выбора из выпадающего списка снова не вызывают обратную передачу.
2) Я обнаружил, что, когда у меня возникает проблема, я могу перейти в Инструменты> Очистить данные просмотра и выбрать только «Очистить кэш» и очистить его, затем перезагрузить страницу, и проблема исчезнет. Я не могу воспроизвести его, пока я не выйду и не вернусь на страницу. Так что похоже, что он связан с кешем .
3) Кажется, что несколько постбэков работают нормально без UpdatePanel .
Edit2:
Это работает в SharePoint 2007, что, очевидно, является важным фактором. Главная страница использует скрипт Sharepoint INIT.JS в своем теле OnLoad и формирует события OnSubmit для выполнения каких-то задач. Единственное, что он делает, - устанавливает флаг, указывающий, была ли отправлена форма, и устанавливает для него значение false в OnLoad. Функция OnLoad также в основном обходит этот процесс для обратных передач ajax. Проблема заключается в том, что Chrome не выполняет событие OnLoad, поэтому процесс не обходит, флаг никогда не возвращается в ложное состояние, а последующие отправки запрещаются функцией OnSubmit. У меня есть тема, исследующая эту проблему здесь: http://social.msdn.microsoft.com/Forums/en-ca/sharepointgeneral/thread/97ff77d1-31d4-45ff-af6e-524416cdff1c