Я использую 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.