У меня есть некоторый jQuery, который загружает частичное представление и вставляет его в DOM. Пока все хорошо.
Но теперь я внес некоторые изменения в отображаемый пользовательский элемент управления, чтобы включить форму Ajax. Однако кнопка отправки для этой формы не запускает вызов Ajax. Из того, что я могу сказать, он вообще ничего не делает. Мои контрольные точки в контроллере тоже не срабатывают.
Если я использую ссылку и добавляю onclick = "submit ()", форма отправляется и нормально запускает действие в моем контроллере, но, конечно, это делает обычное сообщение, а не сообщение ajax.
Форма похожа на:
<% using(Ajax.BeginForm("actionName", new AjaxOptions {
OnSuccess = "updatePanel" })) { %>
<!-- form elements in here -->
<input type="submit" />
<% } %>
Я только что обнаружил, что он делает сообщение, если я изменю OnSuccess на OnComplete, чего я совсем не понимаю.
Однако, хотя его изменение на OnComplete работает, я получаю исключение в библиотеке Microsoft AJAX, где-то в:
try {
a._webRequest.completed(Sys.EventArgs.Empty)
} finally {
if (a._xmlHttpRequest!=null) {
a._xmlHttpRequest.onreadystatechange = Function.emptyMethod;
a._xmlHttpRequest = null
}
}
Курсор выделен в конце finally, говорит, что Object не имеет этого свойства или метода.
Полагаю, я мог бы жить с этим; это просто раздражает тестирование, когда он генерирует исключение в MicrosoftAjax.js и отключает отладчик в VS.