UpdatePanelをページに追加した後、PageMethodが呼び出されなくなりました
-
03-07-2019 - |
質問
asp.net 2.0でasp.net ajaxバージョン1.0を使用しています。 (まだ3.5にアップグレードできません)
Javascriptによって呼び出されるPageMethodがありました。 UpdatePanelをページの別の部分に追加するまで、これは完全に機能しました。デバッグをオンにしてページを実行すると、pagemethodのブレークポイントが呼び出されることはありません。 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が更新されるたびにイベントを設定する必要があることです。
解決 2
これを理解しましたが、構成の問題でした。具体的には以下を追加する必要がありました:
<httpModules>
<add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
</httpModules>
<!> lt; system.web <!> gt;内セクション。
サイトを適切に構成したと思ったが、ドキュメントステップバイステップ。
他のヒント
更新パネルで更新モードを条件付きに設定してみてください。更新パネルがイベントを乗っ取っているように聞こえます。
<asp:UpdatePanel ID="upMyPanel" UpdateMode="Conditional" runat="server">
所属していません StackOverflow