asp.net 2.0でasp.net ajaxバージョン1.0を使用しています。(まだ 3.5 にアップグレードできません)
Javascript によって呼び出される PageMethod がありました。ページの別の部分に UpdatePanel を追加するまで、これは完全に機能しました。デバッグをオンにしてページを実行すると、ページメソッドのブレークポイントが呼び出されません。PageMethod への投稿が呼び出されたときに返されるものを firebug で調べると、呼び出し値だけでなく、aspx ページ全体が返されていることがわかります。私が何をした?
PageMethod への Javascript 呼び出しは次のとおりです。
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 関数を呼び出すポイントは、ID が「#selectedCHK」のアイテムが更新パネル内にあり、UpdatePanel が更新されるたびにイベントを設定する必要があることです。