Я использую asp.net ajax версии 1.0 на asp.net 2.0. (Пока не могу обновить до 3.5)
У меня был PageMethod, который вызывал бы Javascript. Это работало отлично, пока я не добавил UpdatePanel в другую часть страницы. Теперь, когда я запускаю страницу с включенной отладкой, точка останова в методе страницы никогда не вызывается. Когда я смотрю в firebug на то, что возвращается, когда вызывается сообщение в PageMethod, я замечаю, что возвращается только страница aspx, а не только значение для вызовов. Что я сделал?
Вот вызов Javascript для PageMethod:
function EndRequestHandler(sender, args) {
$('#selectedCHK').change(
function() {
var chkedInput = $('#selectedCHK');
var networkRead = chkedInput[0].checked;
PageMethods.ChangeSelectedNetworkReadFlag(routeNum,
networkRead,
function(msg) { alert(msg); });
}
);
}
$(document).ready(function() {
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);
}
Смысл функции EndRequestHandler, вызываемой в конце каждого запроса, заключается в том, что элемент с идентификатором '#selectedCHK' находится внутри панели обновления, и событие необходимо устанавливать каждый раз при обновлении UpdatePanel.